Unity/Engine15 디바이스별 그래픽 API DirectX = MS에서 만든 그래픽 API, MS 운영체제에서만 작동 OpenGL = Windows, 매킨토시, 리눅스 OS에서 작동 OpenGL ES = 안드로이드, IOS, WebGL에서 동작 IOS는 Metal 이라는 그래픽 API도 이용 안드로이드는 Vulkan 이라는 API도 이용 2022. 4. 10. 옵저버 패턴(ObserverPattern) 옵저버 패턴이란 객체의 상태 변화를 관찰자(옵저버) 목록을 특정 객체(Subject)에 등록하여 옵저버의 상태변화가 있을때 마다 Subject에서 목록의 옵저버에게 통지하도록 하는 1:N 구조의 디자인패턴이다. 주로 이벤트 핸들링 시스템을 구현하는데 사용된다 하며 많이쓰는 패턴인거같아 간단하게 구현해보았다. 리스트를 사용하는방법과 델리게이트를 사용하여 구현하는방법이있으며 나는 후자의 방법으로 구현하였다. public abstract class Observer : MonoBehaviour { public abstract void Notify(); } 옵저버 베이스 코드, 상속과 재정의를 위해 추상클래스로 구성했으며 인터페이스로 구성해도 상관없다. public class KeySubject : MonoBeh.. 2022. 2. 25. Vector3 Roatation(벡터 회전) 특정 방향벡터를 일정한 각도로 돌려서 사용이 필요할 때가 있다. 시야각을 구할 땐 삼각함수를 이용해 직접 계산해서 구했지만 비교적 간단한 방법이 있고 코드 또한 간결하게 수정할 수 있어 보여서 정리했다. Vector3 dir = Quaternion.AngleAxis(angle, Vector3.up) * transform.forward; 예를 들어 오브젝트 정면 방향벡터를 y축을 기준으로 angle만큼 회전한 벡터를 구할 땐 위와 같이 할 수 있고 Quaternion quaternion = Quaternion.Euler(0f, angle, 0f); Vector3 dir = quaternion * transform.Forward; 위처럼 작성해도 동일하게 변환할 수 있다고 한다. tranfrom.forwar.. 2022. 2. 16. 유니티 특정 디렉토리 파일 불러오기 일반적으로 폴더에서 리소스를 불러올 때는 Resources폴더를 생성하고 Resources.Load를 많이 사용 하지만 본인이 따로 지정한 폴더에서 바로 불러오는 방법도 존재한다. AssetDatabase.LoadAssetAtPath를 사용하면 되는데 GameObject obj = (GameObject)AssetDatabase.LoadAssetAtPath("Assets/Prefabs/Player.prefab", typeof(GameObject)); 이런 식으로 사용하면 된다 다만 여러 파일을 불러와야 할 경우 Resources의 경우 Resources.LoadAll를 사용하면 해결이 되지만 AssetDatabase의 경우 LoadAllAssetPath함수가 존재하지만 이 메서드의 용도는 Fbx 파일과 같.. 2022. 2. 14. 이전 1 2 3 4 다음