Unity

    Animation : Blend Tree

    Unity 세계에서 애니메이션 제작은 단순히 객체를 움직이는 것 이상입니다. 캐릭터와 장면을 생생하게 만들고, 플레이어 입력에 동적으로 반응하며, 다양한 상태 사이를 원활하게 전환하는 것이 중요합니다. 개발자가 여러 애니메이션을 원활하게 혼합할 수 있게 해주는 Unity 애니메이션 시스템의 필수 기능인 블렌드 트리를 만나보세요. 블렌드 트리란 ?? 본질적으로 블렌드 트리는 단일 매개변수를 사용하여 여러 애니메이션을 제어하고 혼합하는 방법입니다. 예를 들어 걷기, 조깅, 질주에 대해 별도의 애니메이션을 사용하는 대신 캐릭터 속도에 따라 이러한 상태 간에 전환하는 하나의 블렌드 트리를 사용할 수 있습니다. 블렌드 트리를 사용하는 이유 원활한 전환: 애니메이션 간의 갑작스러운 전환을 방지하여 더 부드러운 게임..

    ~~~ is missing the class attribute 'ExtensionOfNativeClass'!

    발생 원인 : GameObject의 컴포넌트 중 MonoBehaviour를 상속받지 않는 컴포넌트가 있을 때 발생함 해결 : 해당 컴포넌트를 삭제하거나 MonoBehaviour를 다시 상속 받으면 된다. https://discussions.unity.com/t/missing-the-class-attribute-extensionofnativeclass/223666/5

    SerializeField 이해하기

    Unity의 게임 개발 환경은 개발 프로세스를 최대한 직관적이고 효율적으로 만들기 위해 설계된 많은 도구와 기능의 보고입니다. 초보자가 종종 간과하지만 숙련된 개발자가 소중히 여기는 기능 중 하나는 'SerializeField' 특성입니다. 이 게시물에서는 SerializeField의 개념에 대해 자세히 살펴보고 그 목적, 이점 및 모범 사례를 살펴보겠습니다. SerializeField가 무엇인가요? Unity에서 'SerializeField' 속성은 스크립트 내에서 사용되어 프라이빗 필드를 다른 스크립트에 노출하지 않고 Unity 에디터에서 보고 편집할 수 있도록 합니다. 이는 비공개 필드의 캡슐화 이점 유지와 인스펙터에서 직접 값을 편집하는 편의성 간의 균형을 제공합니다. [SerializeField..

    GameObject의 activeSelf, activeInHierarchy

    오늘 우리는 Unity에서 객체 활성화의 복잡성에 대해 깊이 파고들고 있습니다. 이 주제는 기본적인 것처럼 보일 수 있지만 미묘한 차이가 있습니다. Unity에서 스크립팅을 해본 적이 있다면 'activeSelf' 및 'activeInHierarchy'라는 매우 비슷하게 들리는 두 가지 속성을 보았을 것입니다. 얼핏 보면 상호 교환이 가능해 보일 수 있지만 서로 다른 용도로 사용됩니다. activeSelf 'activeSelf'는 개체의 로컬 활성 상태를 나타냅니다. 간단히 말해서, 부모에 관계없이 객체가 명시적으로 활성 또는 비활성으로 설정되었는지 알려줍니다. 키 포인트 SetActive 기능이나 인스펙터의 체크박스를 통해 설정한 상태만 반영됩니다. 상위 개체의 활성 상태는 고려하지 않습니다. 용법: ..

    소프트웨어 개발 3대 원칙 : DRY, KISS, YAGNI

    1. DRY(Don't Repeat Yourself) DRY 원칙은 코드에서 중복을 피하도록 권장합니다. 효율적인 재사용을 위해 반복되는 코드를 하나의 구성 요소로 통합하는 것을 지지합니다. 이 원칙은 복잡성을 줄이고 유지 관리성을 높이는 것을 목표로 합니다. 시스템이 커짐에 따라 개념의 수와 상호 연결로 인해 복잡성이 기하급수적으로 증가할 수 있습니다. 각 개념과 기능이 한 곳에만 존재하도록 하여 이를 관리하는 것이 중요합니다. 이는 개별 코드 블록에서 팀 전체 기능 및 여러 팀 간의 공유 구성 요소에 이르기까지 프로젝트의 다양한 규모에 적용할 수 있습니다. DRY 원칙을 위반하는 것을 종종 WET라고 하는데, 이는 'We Enjoy Typing' 또는 'Write Everything Twice'를 의..

    Unity : 게임 오브젝트에 Bouncing

    이 글에서는 게임 객체를 어떻게 튕겨나갈 수 있는지 보여드리겠습니다.이것은 바닥, 벽 또는 천장에서 공을 튕겨야 할 때 유용합니다.Unity에서 이를 달성할 수 있는 방법을 알아보겠습니다. 1. 리지드바디(RigidBody) 추가 물리학 법칙을 적용하기 위해 통통 튀는 효과를 줄 오브젝트에 리지드바디 컴포넌트를 부착해야합니다. Use Gravity가 선택되어 있는지 확인합니다. 2. Material 생성 3. 마찰력과 탄력성 설정 4. 게임 오브젝트에 적용 생성한 Material을 드래그로 끌어다 놓거나 콜라이더 안의 Material을 생성한 것으로 바꿔주면 됩니다. 5. 테스트

    Unity로 이해하는 상태 패턴 (State Pattern)

    상태 패턴란 ?? 상태 패턴은 개체가 클래스를 변경한 것처럼 내부 상태가 변경될 때 개체가 동작을 변경하도록 하는 동작 디자인 패턴입니다. 게임을 위한 적 AI를 만든다고 상상해 보십시오. 적은 순찰, 플레이어 추격, 공격과 같은 여러 상태를 가질 수 있습니다. 이러한 동작은 상당히 다르며 상태 패턴을 사용하지 않으면 코드가 여러 'if' 또는 'switch' 문으로 빠르게 복잡해질 수 있습니다. 상태 패턴이 빛나는 곳입니다. 이를 통해 서로 다른 동작을 별도의 클래스로 캡슐화하고 런타임에 전환할 수 있습니다. Unity에서 상태 패턴 구현 플레이어를 순찰하거나 추격할 수 있는 간단한 적 AI로 상태 패턴을 설명하겠습니다. 첫째, 적 상태에 대한 추상 기본 클래스가 필요합니다. csharpCopy cod..

    Unity로 이해하는 옵저버 패턴 (Observer Pattern)

    옵저버 패턴 관찰자 패턴은 일부 개체('관찰자'라고 함)가 다른 개체('주체')를 관찰하고 상태 변경에 대한 알림을 받을 수 있도록 하는 동작 디자인 패턴입니다. 이 패턴은 한 개체를 변경하려면 다른 개체도 변경해야 하고 얼마나 많은 개체를 변경해야 하는지 모를 때 특히 유용합니다. 뉴스레터 구독이라고 생각하면 됩니다. 뉴스레터를 구독하면(관찰자가 됨) 뉴스레터 서비스(제목)에서 새 콘텐츠가 있을 때마다 업데이트를 보냅니다. Unity에서 옵저버 패턴 구현하기 게임에서 플레이어의 체력이 있는 경우를 예로 들어 보겠습니다. 플레이어의 체력이 변경될 때마다 다른 UI 요소(예: 체력 표시줄 또는 체력 텍스트 필드)가 업데이트되어야 합니다. 다음은 PlayerHealth 클래스('Subject')입니다. cs..