Setting : Resolution and Presentation
·
Unity
Unity 개발자로서 게임의 퀄리티를 높이는 것은 중요한데, 그 중에서도 Resolution and Presentation 설정은 게임이 어떻게 보이고 느껴지는지에 큰 영향을 미칩니다. Unity의 Project Settings 내의 Player 섹션에서는 이러한 설정들을 할 수 있습니다. 그럼 Resolution and Presentation 내의 주요 프로퍼티들에 대해 자세히 알아보겠습니다. 1. Default Screen Width & Default Screen Height 이 두 옵션은 게임이 처음 실행될 때의 기본 화면 너비와 높이를 설정합니다. 플레이어가 따로 해상도 설정을 변경하기 전까지 이 설정값이 기본으로 사용됩니다. 2. Default Is Full Screen 이 옵션을 체크하면 게임..
Animation Preview Auto Play
·
Unity/Tip
더보기 필자는 Unity로 게임을 개발하고 있다. 현재 개발에 사용중인 오브젝트의 Animation은 300개가 넘어간다. 이전에는 PreView의 Play 버튼을 눌러 일일이 하나씩 재생시켜 확인을 하였는데 이제는 이또한 귀찮아졌다... GPT 4 사용 우리의 멍청한 친구 GPT에게 "I want the preview to play automatically when an animation file is selected." 라고 질문을 했다. #if UNITY_EDITOR using UnityEngine; using UnityEditor; using UnityEditor.Animations; [InitializeOnLoad] public class AutoPlayAnimationPreview { stat..
왜 transform.position.x를 직접적으로 수정 할 수 없을까??
·
Unity
가장 인기 있는 게임 개발 플랫폼 중 하나인 Unity는 유연하고 최적화된 다양한 기능을 제공합니다. 그러나 이러한 유연성을 통해 특정 복잡성을 이해할 필요가 있습니다. 많은 신규 사용자들을 곤혹스럽게 하는 특징 중 하나는 Transform.position 속성의 x 구성 요소(y 또는 z)를 직접 수정할 수 없다는 것입니다. 불변 벡터 Unity에서 transform.position 속성은 월드스페이스에서 GameObject의 위치를 나타내는 Vector3 객체를 반환합니다. 그러나 Vector3 구조는 불변입니다. 불변의 객체나 구조는 만들어진 후에 상태나 값을 수정할 수 없습니다. 즉, transform.position에서 Vector3을 가져오면 실제 위치 데이터에 대한 참조가 아닌 위치의 복사본..
Destroy 와 DestroyImmediate
·
Unity
Unity에서 객체 관리는 게임 개발의 핵심 측면입니다. 객체를 생성한 만큼, 객체를 제거해야 할 때가 있습니다. Unity는 게임 객체를 파괴하는 두 가지 기본 메서드인 'Destroy'와 'DestroyImmediate'를 제공합니다. 둘 다 유사한 주요 기능을 수행하지만 서로 다른 방식으로 작동합니다. 차이점에 대해 더 자세히 살펴보겠습니다. Unity의 객체 소멸 Unity에서 게임 개체와 해당 구성 요소는 종종 메모리를 소비합니다. 게임이 실행되면서 수많은 개체를 인스턴스화할 수 있습니다. 그러나 이러한 모든 개체를 메모리에 남겨두면 성능 문제가 발생할 수 있으므로 더 이상 필요하지 않을 때 제거해야 합니다. Destroy 메소드 'Destroy'는 게임 개체, 구성 요소 또는 자산을 삭제하는 ..
Animation : Blend Tree
·
Unity
Unity 세계에서 애니메이션 제작은 단순히 객체를 움직이는 것 이상입니다. 캐릭터와 장면을 생생하게 만들고, 플레이어 입력에 동적으로 반응하며, 다양한 상태 사이를 원활하게 전환하는 것이 중요합니다. 개발자가 여러 애니메이션을 원활하게 혼합할 수 있게 해주는 Unity 애니메이션 시스템의 필수 기능인 블렌드 트리를 만나보세요. 블렌드 트리란 ?? 본질적으로 블렌드 트리는 단일 매개변수를 사용하여 여러 애니메이션을 제어하고 혼합하는 방법입니다. 예를 들어 걷기, 조깅, 질주에 대해 별도의 애니메이션을 사용하는 대신 캐릭터 속도에 따라 이러한 상태 간에 전환하는 하나의 블렌드 트리를 사용할 수 있습니다. 블렌드 트리를 사용하는 이유 원활한 전환: 애니메이션 간의 갑작스러운 전환을 방지하여 더 부드러운 게임..
~~~ is missing the class attribute 'ExtensionOfNativeClass'!
·
Unity/Tip
발생 원인 : GameObject의 컴포넌트 중 MonoBehaviour를 상속받지 않는 컴포넌트가 있을 때 발생함 해결 : 해당 컴포넌트를 삭제하거나 MonoBehaviour를 다시 상속 받으면 된다. https://discussions.unity.com/t/missing-the-class-attribute-extensionofnativeclass/223666/5
SerializeField 이해하기
·
Unity
Unity의 게임 개발 환경은 개발 프로세스를 최대한 직관적이고 효율적으로 만들기 위해 설계된 많은 도구와 기능의 보고입니다. 초보자가 종종 간과하지만 숙련된 개발자가 소중히 여기는 기능 중 하나는 'SerializeField' 특성입니다. 이 게시물에서는 SerializeField의 개념에 대해 자세히 살펴보고 그 목적, 이점 및 모범 사례를 살펴보겠습니다. SerializeField가 무엇인가요? Unity에서 'SerializeField' 속성은 스크립트 내에서 사용되어 프라이빗 필드를 다른 스크립트에 노출하지 않고 Unity 에디터에서 보고 편집할 수 있도록 합니다. 이는 비공개 필드의 캡슐화 이점 유지와 인스펙터에서 직접 값을 편집하는 편의성 간의 균형을 제공합니다. [SerializeField..
GameObject의 activeSelf, activeInHierarchy
·
Unity
오늘 우리는 Unity에서 객체 활성화의 복잡성에 대해 깊이 파고들고 있습니다. 이 주제는 기본적인 것처럼 보일 수 있지만 미묘한 차이가 있습니다. Unity에서 스크립팅을 해본 적이 있다면 'activeSelf' 및 'activeInHierarchy'라는 매우 비슷하게 들리는 두 가지 속성을 보았을 것입니다. 얼핏 보면 상호 교환이 가능해 보일 수 있지만 서로 다른 용도로 사용됩니다. activeSelf 'activeSelf'는 개체의 로컬 활성 상태를 나타냅니다. 간단히 말해서, 부모에 관계없이 객체가 명시적으로 활성 또는 비활성으로 설정되었는지 알려줍니다. 키 포인트 SetActive 기능이나 인스펙터의 체크박스를 통해 설정한 상태만 반영됩니다. 상위 개체의 활성 상태는 고려하지 않습니다. 용법: ..