Engine/Unity 78

유니티 Camera.main은 캐싱해서 쓰자

아래 코드와 같이 Camera.main을 매번 호출할 필요는 없다. Start()에서 미리 Camera.main을 Camera 변수에 담아놓고 다른 함수에서 불러쓰는 것이 좋겠다. 성능 상 큰 문제는 아니지만, 성능을 고려하자면 캐싱해 놓고 써야겠다. public class Example : MonoBehaviour { //This is Main Camera in the Scene Camera m_MainCamera; //This is the second Camera and is assigned in inspector public Camera m_CameraTwo; void Start() { //This gets the Main Camera from the Scene m_MainCamera = Camer..

Engine/Unity 2023.02.11

유니티 [ExecuteInEditMode]로 플레이 하지 않은 상태에서 값 변경하기

해당 스크립트가 유니티 에디트 모드에서도 동작하도록 설정합니다. [ExecuteInEditMode] // 스크립트가 에디터모드에서 동작하도록 설정 public class CameraControl : MonoBehaviour { } 참고 문서 https://docs.unity.cn/kr/2017.4/ScriptReference/ExecuteInEditMode.html UnityEngine.ExecuteInEditMode - Unity 스크립팅 API Makes all instances of a script execute in edit mode. docs.unity.cn

Engine/Unity 2023.02.11

유니티 인스펙터 창에 속성들 구분하는 [Header()]

클래스의 속성들(멤버 변수)을 관리하기 편하게 구분해 주는 header가 있습니다. 아래 코드와 같이 구분 하면 인스펙터 창을 그룹화 해줄 수 있습니다. [System.Serializable] public class CameraSettings { [Header("-Positioning-")] public Vector3 m_CamPositionOffsetLeft; public Vector3 m_CamPositionOffsetRight; [Header("-Camera Options-")] public Camera m_UICamera; // UI 용 카메라 public float m_MouseXSensitivity = 5.0f; // 마우스 감도 public float m_MouseYSensitivity = ..

Engine/Unity 2023.02.11

[Unity] Canvas Group의 유용함에 대해서

Canvas Group은 매우 유용하다. 알파값 제어, 입력 제어 등의 속성을 가지고 있다. 특히 알파값 제어의 경우, Canvas Group의 자식들로 구성된 UI Elements를 한꺼번에 제어할 수 있는 편의를 제공한다. 입력 제어도 마찬가지이다. 스택오버 플로우를 참고하자면, https://stackoverflow.com/questions/47035144/unity3d-invisible-canvas-performance Unity3D invisible Canvas performance I'm developing a 2d menu heavy mobile game, which uses a lot of canvases, panels, popups etc. In the beginning I had all..

Engine/Unity 2022.09.19

책 [유니티 C# 스크립팅 마스터하기] 통독 후 깨달은 점

정독하지는 않았다. 이미 알고 있거나 익숙한 내용은 넘겨보았기 때문이다. 우선 아쉬운 점은 2016년에 국내에 출판된 책이라서 무려 6년 전 번역된 책이다. 하지만 6년이 지난 지금에도 여전히 중요한 개념과 스크립팅이 많아서 좋았다. MonoDevelop IDE는 더 이상 안 쓰이기 때문에 개발 툴 사용 법은 참고만 하는 것이 좋겠다. 알고는 있으나, 아직 익숙하지 않은 내용을 정리해 보았다. 아직 부족한 부분이 많다는 것을 깨우치게 한 책이었다. delegate를 이용한 이벤트 주도적 프로그래밍 문자열 : 정규식 가변 개수 파라미터 LINQ와 정규식 IEnumerable과 IEnumerator 책은 사서 봅시다. http://www.yes24.com/Product/Goods/24027404 유니티 C#..

Engine/Unity 2022.09.17

[Unity] Object.GetInstanceID() 로 오브젝트 식별

Unity 버전 : 2021.3.8f1 LTS 유니티에서는 고유 식별자를 가져올 수 있는 메서드를 제공한다. The instance ID of an object is always unique. The ID changes between player runtime and Editor sessions. https://docs.unity3d.com/ScriptReference/Object.GetInstanceID.html Unity - Scripting API: Object.GetInstanceID Returns int Returns the instance ID of the object. When used to call the origin object, this method returns a positive v..

Engine/Unity 2022.09.15