Unity 240

Unity Editor에서 Firebase 사용하기

Firebase는 스마트폰 디바이스에서만 작동하고 Unity Editor에서는 안되는 줄 알았는데, 우연히 잘 쓰고 있는 사람들을 봄. ① Firebase에서 데이터를 받아오는 부분을 보니 주석처리까지는 정상동작되는데 -> 통신까지는 제대로 된다는 것 ②try부분에서 짤림. ③에러로그를 출력안해서 try catch로 해봄. #### System.AggregateException: One or more errors occurred. ---> Firebase.Firestore.FirestoreException: Missing or insufficient permissions. Editor에서 테스트 시에는 규칙 true로 바꿔주면 됨. 폰에서는 한번 SignIn이 되어있었으니, 중간에 다른 Scene으로 끼..

Unity Firebase용 데이터 클래스

이렇게 해야 Object그대로 Firebase에 올릴 수 있음 using Firebase.Firestore; [FirestoreData] public class User { [FirestoreProperty] public string Uid { get; set; } [FirestoreProperty] public string Email { get; set; } [FirestoreProperty] public string Nickname { get; set; } [FirestoreProperty] public int Level { get; set; } [FirestoreProperty] public bool IsFinishTutorial { get; set; } [FirestoreProperty] publ..

Animation Override Controller

특정 Unit의 Animation을 바꾸고 싶을 때 Animator 유닛의 움직임은 대동소이함 특정 State의 움직임만 살짝 다른데 그때마다 Animator을 새로 생성하는 것은 귀찮은 작업이 될 것. Animation Override Controller 사용 위 그림처럼 바꾸고 싶은 Animation만 바꿔주면 전체 Animator의 틀은 유지되면서 Override한 애니매이션만 다른 걸로 교체되게 된다. RTS Engine에서 유의할 점 Unit컴포넌트의 Animation Override Controller에다가 넣어야 적용이 된다 (Play시 여기에 들어있는 걸로 바꿔치기함)

Canvas와 World좌표 연동 (Camera.WorldToScreenPoint)

public class HoborController : MonoBehaviour { [SerializeField] Image image; [SerializeField] Transform cube; [SerializeField] Camera camera; // Update is called once per frame void Update() { // Debug.Log($"{camera.WorldToScreenPoint(cube.position)}"); image.transform.position = camera.WorldToScreenPoint(cube.position); } } WorldToScreenPoint 함수는 World의 좌표를 Canvas의 좌표로 변환시켜줌 Canvs의 RenderMode가 ..

[RTS Engine] MainCamera와 MinimapCamera 비교

Camera Flags Solid Color : 배경을 단색으로 채움 Depth only : 빈공간 투명처리 Depth 값이 클수록 더 앞쪽 [Unity]UI 카메라와 메인 카메라 사용하기(UI Camera + Main Camera) -카메라를 하나 더 추가(UICamera) -캔버스와 버튼을 추가(Image는 구분을 해주려고 Background) UI를 왼쪽 Scene View를 오른쪽으로 둘 계획 MainCamera의 ViewPort Rect를 보면 X : 0.15 Y : 0 W : 0.85 H : 1.. guks-blog.tistory.com ClearFlag Unity - Scripting API: Camera.clearFlags Success! Thank you for helping us imp..

Unity/Asset 분석 2021.07.16

[RTS Engine] 코드로 Unit 움직이기

코드로 Unit 움직이기 사용자가 조작하는거 말고 [SerializeField] Unit unit; [SerializeField] GameManager gameMgr; [SerializeField] Transform target; void Start() { gameMgr.MvtMgr.Move(unit, target.position, 0.0f, null, InputMode.movement, false); } MovementManager의 Move method를 이용한다 MovementManager는 GameManager안에 들어있으므로 쟤를 쓸 때 GameManager를 통해 호출하는 것이 편리함. public ErrorMessage Move(Unit unit, Vector3 destination, flo..

Unity/Asset 분석 2021.07.15