전체 글(30)
-
Mathf 함수 전부 알기
버전은 2022.2 기준입니다. https://docs.unity3d.com/2022.2/Documentation/ScriptReference/Mathf.html Mathf.Deg2Rad // public static float Deg2Rad; 더보기 (PI * 2) / 360, PI/180. 를 의미합니다. 보통 디그리(60분법)에다가 곱해서 라디안(효도법)을 구할 때 씁니다. Mathf.Epsilon // public static float Epsilon; 더보기 작은 부동 소수점 값을 가져옵니다. 즉 0에 가까운 소수점을 반환합니다. 1.0f == (10.f/10.f) 이 값은 늘 true로 반환하지 않습니다. 두 값을 확인할 때는 Mathf.Epsilon를 활용해서 구할 수 있습니다. bool i..
2022.07.17 -
랜덤 원형안에 오브젝트 생성시키기
원형안에 랜덤으로 생성시키는 함수를 소개합니다. https://docs.unity3d.com/kr/530/ScriptReference/Random-insideUnitSphere.html Vector3 insideUnitSphere 반경이 1인 구 내부의 임의의 점을 반환합니다 정해진 Vector 기준으로 insideUnitSphere*반경을 곱하면 랜덤 원형안에 오브젝트가 생성됩니다. 기즈모로 그려서 테스트를 했습니다. private void OnDrawGizmosSelected() { Handles.DrawWireArc(transform.position, Vector3.up, Vector3.forward, 360, 5); //3d공간에 circular 그리기 } 예제를 보면 public GameObje..
2022.07.17 -
3d 오브젝트 드래그로 이동시키기
- 소스코드 보기 더보기 private Vector3 scrSpace; public Camera camera; void Start() { camera = Camera.main; // 카메라를 미리 캐싱합니다. } private void OnMouseDown() { scrSpace = camera.WorldToScreenPoint(transform.position); // 오브젝트를 스크린좌표로 바꾼값 } private void OnMouseDrag() { //마우스 좌표를 구합니다. z는 아까 오브젝트 스크린좌표로바꾼 z로 설정 Vector3 MousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, scrSpace.z); Vector3 o..
2022.07.15 -
Handles와DrawGizmos 활용해서 시야각만들기
구현영상 코드 보기! 더보기 public float Radius = 5f; [Range(0, 360)] public float Angle = 90f; public LayerMask targetMask; // 적을 검색하기 위한 레이어마스크 public LayerMask walllMask; // 장애물 마스크 public List Enemies = new List(); // 범위안에있는 적들 void FindEnemy() { Enemies.Clear(); // 맨처음에 리스트를 생성하고 clear로 정리한다. Collider[] results = new Collider[10];//최대10개까지 var size = Physics.OverlapSphereNonAlloc(transform.position, Ra..
2022.07.12 -
Photon Pun2 리소스(Resources) 폴더 아닌곳에서 생성하는법,에셋번들 어드레서블(Addressable) 같이 사용하는법
포톤 문서를 참고했습니다 https://doc.photonengine.com/ko-kr/pun/current/gameplay/instantiation 인스턴스생성 | Photon Engine Cookie 설정 Photon은 귀하를 로그인 사용자로 식별하고 품질을 개선하고 마케팅을 위해 쿠키를 사용합니다. 아래 Cookie 설정을 확인하고 프라이버시를 관리해 주시기 바랍니다. 당사가 Cookie를 사용 doc.photonengine.com 게임이 시작하면 포톤에서 알아서 Resources 폴더에있는 포톤오브젝트들을 포톤오브젝트리스트안에넣는데 다른 폴더에있다면 리스트안에 없기때문에 오류가 나오기 때문에 따로 넣어줘야합니다. DefaultPool를 사용하면 됩니다. DefaultPool Pool = Photo..
2022.07.11 -
유니티 멀티쓰레드 사용시 UI가 아무런 변화가 없을때
유니티에 파이어베이스를 연동할 때 UI가 아무런 반응이 없길래 확인해봤는데 파이어베이스는 기본적으로 데이터들을 비동기로 읽기 때문에 UI가 함수들이 제대로 안 먹히는 부분(메인 쓰레드가 아니기때문)이 있습니다. 그렇기때문에 메인쓰레드에서 UI를 처리를 해줘야합니다. 코루틴과 bool 값을 이용해서 코루틴 WaitUntil와 같이 사용해서 처리하거나 큐에 액션을 넣어서 처리하는 방법이 있습니다. 큐에 액션을 넣어서 처리하는 좋은 자료가 있습니다. https://github.com/PimDeWitte/UnityMainThreadDispatcher GitHub - PimDeWitte/UnityMainThreadDispatcher: A simple, thread-safe way of executing actio..
2022.07.11