반응형

Unity 156

SkeletonUtilityBone의 Mode설정 Override와 Follow의 차이

SkeletonUtilityBone의 Mode설정 Override와 Follow의 차이    SkeletonAnimation, SkeletonGraphic(UI) 또는 SkeletonMecanim GameObject에 SkeletonUtility컴포넌트 부착 후Spawn Hierachy 버튼을 클릭하면, 해당 게임오브젝트 하위에 Spine2D에서 설정한 뼈가 생기면서 각 뼈에  SkeletonUtilityBone 컴포넌트가 부착이 됩니다. Mode설정에는 Override와 Follow 옵션이 있으며, 이들은 Spine 애니메이션과 유니티의 게임 오브젝트 간의 상호 작용 방식을 결정합니다. SkeletonUtilityBone을 사용하면 Spine 애니메이션의 특정 뼈를 유니티 게임 오브젝트로 매핑하여, 애..

Unity 2024.02.28

유니티와 C# 기초: 게임 개발을 위한 한정자 간단 정리 Unity and C# Essentials: Simplifying Modifiers for Game Development

유니티와 C# 기초: 게임 개발을 위한 한정자 간단 정리 Unity and C# Essentials: Simplifying Modifiers for Game Development C#에서 사용되는 다양한 한정자(modifiers)는 클래스, 메서드, 프로퍼티, 변수 등의 선언에 추가하여 해당 요소의 행동, 접근성, 범위 등을 정의합니다. 접근 제한자(Access Modifiers)public: 어디서든 접근 가능.private: 선언된 클래스나 구조체 내부에서만 접근가능.protected: 선언된 클래스 내부 및 파생된 클래스에서 접근 가능.internal: 같은 어셈블리 내에서만 접근 가능.protected internal: 같은 어셈블리 내, 혹은 파생 클래스에서 접근 가능.private protec..

Unity 2024.02.27

유니티 C# 열거형 네이밍 관례 Unity C# Enum Naming Conventions

유니티 C# 열거형 네이밍 관례 Unity C# Enum Naming Conventions 과거에는 프로그래밍에서 열거형(enum) 멤버를 모두 대문자로 작성하는 관례를 따르는 경우가 많았습니다. 이는 C언어나 일부 다른 프로그래밍 언어에서의 관행을 반영한 것으로, 상수와 같은 열거형 멤버를 눈에 띄게 하기 위한 목적이 있었습니다.그러나, C#과 같은 현대의 객체지향 프로그래밍 언어에서는 열거형 멤버에 대해 PascalCase(각 단어의 첫 글자를 대문자로 표기하는 방식)를 사용하는 것이 일반적인 관례로 받아들여지고 있습니다. 이는 코드의 가독성을 높이고, C#의 네이밍 컨벤션에 일관성을 유지하기 위함입니다. 예를 들어, C#에서는 다음과 같이 작성합니다.이러한 변경은 프로그래밍 언어와 개발 커뮤니티가 ..

Unity 2024.02.26

Unity C# 클래스 정의에서 콜론(:) 이해하기

Unity C# 클래스 정의에서 콜론(:) 이해하기   Unity C# 개발에서 문법과 기호의 이해는 효율적이고 가독성 있는 코드를 작성하는 데 필수적입니다. 클래스 정의 시 사용되는 기호 중 하나인 콜론(:)은 상속과 생성자 체이닝에 있어서 중요한 역할을 합니다. 이 글에서는 간단하고 깔끔한 예제를 통해 이러한 개념들을 명확히 설명하겠습니다. 1. 상속콜론은 클래스가 기반 클래스로부터 메소드, 속성 및 기타 멤버를 상속받을 때 사용됩니다. 이는 코드 재사용과 다형성을 용이하게 하는 객체지향 프로그래밍의 기본 원칙입니다.이 예제에서 'Knight'는 'Character'로부터 상속받으며, 이는 콜론을 사용하여 표시됩니다. 'Knight'클래스는 이제 'Character'에 정의된 'Move'메소드를 사용..

Unity 2024.02.26

UnityEvent, UnityAction, Action(.NET)에 관하여

UnityEvent, UnityAction, Action(.NET)에 관하여     먼저 UnityAction과 Action의 차이 및 기타사항 UnityAction은 UnityEngine.Events 네임스페이스에 정의되어 있으며, Unity의 이벤트 시스템과 긴밀하게 통합되어 있다. 이런 이유로 UnityAction을 사용하는 이벤트는 Unity인스펙터에서 직접 조작할 수 있다. - UnityEvent와 그 파생 클래스들은 Unity 인스펙터에서 시각적으로 표시되고, 사용자가 인스펙터를 통해 이벤트 리스너를 추가하거나 제거할 수 있다. 이는 UnityAction을 사용할 때 특히 유용하다. 예를 들어, 버튼 클릭 이벤트에 메서드를 할당하는 경우, 인스펙터에서 드래그 앤 드롭으로 간단히 설정할 수 있다..

Unity 2024.02.22

Destroy와 DestroyImmediate의 차이

Destroy와 DestroyImmediate의 차이 Destroy와 DestroyImmediate는 Unity에서 게임 오브젝트나 컴포넌트를 파괴하는 메서드들이다. Destroy- 오브젝트를 안전하게 파괴하기 위해 사용한다.-파괴는 Destroy 메서드가 호출된 후 게임의 현재 프레임이 끝날 때까지 지연, 즉 메서드 호출 시점과 실제 오브젝트가 파괴되는 시점 사이에 짧은 지연이 있다. - 이 지연은 Unity가 현재 프레임에서 실행 중인 모든 코드가 완료될 수 있도록 하며, 오브젝트가 안전하게 파괴될 수 있도록 한다.- 주로 런타임 중에 사용된다. DestroyImmediate- 오브텍트를 즉시 파괴한다.- 호출 즉시 지정된 오브젝트를 파괴하며, 현재 실행 중인 코드가 완료되기를 기다리지 않는다.- 주..

Unity 2024.02.22

Rigidbody2D의 velocity를 Vector2.zero로 했음에도 불구하고 zero가 안 먹히는 현상

Rigidbody2D의 velocity를 Vector2.zero로 했음에도 불구하고 zero가 안 먹히는 현상  움직이고 있던 공을 갑작스럽게 멈추기 위해,스크립트로 velocity를 Vector2.zero를 대입했음에도 먹히지를 않는다.  원인은, 코드로 저렇게 했음에도 불구하고 유니티 물리시스템이 FixedUpdate 되기 전까지 한 번 더 작용을 해버려서 그렇다. 그래서 해결을 하려면 어쨌든 FixedUpdated를 거쳐야 할 것 같다는 판단이다. 함수 안에서 .velocity = Vector2.zero 를 바로 하는 대신에 boolean 변수를 이용해봤다. 그리고 0.2f초 후에 원상복귀. 0.1f초로 테스트를 해보니, 될 때도 있고 안 될 때도 있어서 .2f초로 적용을 시켰다. 이 방법 말고 더..

Unity 2024.02.21

Physics2d.Raycast 에서 감지가 되지 않을 때 When Physics2d.Raycast is not detected

Physics2d.Raycast 에서 Hit가 감지되지 않을 때 When Physics2d.Raycast is not detected  이런식으로 코드를 작성하고 아무리 봐도 이상이 없는데 Hit가 감지가 되지 않는다.  이런 일은 특히 2D게임에서 많이 일어나는데, 원인은 Background Object들이 모두 동일한 Z축 선상에 있었던 것. 즉, 모든 BG, Player, 기타 Object들이 겹쳐져 있어서 Ray를 쏘더라도 감지할 LayerMask를 별도로 지정해주지 않는 이상 모두 Default 레이어에 있기 때문에 쏘는 족족 Backgroud Object들이 첫번째로 Ray를 맞아버려서 내가 원했던 Wall에는 닿지 않는 현상이다.     'Right Wall' Layer를 추가해서 적용한 후..

Unity 2024.02.21

스파인2D에서 셋팅한 에임, 유니티에서 동작하지 않을 때 When the aim set in Spine2D does not work in Unity SkeletonUtilityBone

스파인2D에서 셋팅한 에임, 유니티에서 동작하지 않을 때 When the aim set in Spine2D does not work in Unity SkeletonUtilityBone   SkeletonAnimation 이든 뭐든 일단 Hierarchy에 얹혀놓고 나서,SkeletonUtility 컴포넌트를 추가한 후 Spawn Hierachy 버튼을 눌러 Spine2D에서 셋팅한 뼈들을 불러온다. 그리고 나서 Aim 용 IK(위 캡쳐에선 이름이 targetBall이다) 를 선택한 후 Inspector창을 보면 Default로 SkeletonUtilityBone의 Mode가 Follow로 되어있는데 이걸 Override로 바꿔준다.   잘 된다. 끗.   두더지게임: 리마스터 무료 게임쿠폰두더지게임: 리..

Unity 2024.02.20

유니티 에디터 메뉴에 커스텀 버튼 만들기 및 구글 스프레드시트에서 데이터 불러와서 파일로 저장하기 Creating a custom button in the Unity Editor menu and loading data from Google Spreadsheet and saving it as a file

유니티 에디터 메뉴에 커스텀 버튼 만들기 및 구글 스프레드시트에서 데이터 불러와서 파일로 저장하기 Creating a custom button in the Unity Editor menu and loading data from Google Spreadsheet and saving it as a file     구글 스프레드시트에서 데이터를 불러오거나 저장하기 위해서는 Google Sheets API를 사용해야 한다. 이를 위해서는 구글 클라우드 플랫폼에서 프로젝트를 생성하고, API 키를 발급받아야 한다. Unity에서 구글 스프레드시트의 데이터를 CSV 형식으로 불러오는 예제코드. 이 코드는 Google Sheets API와 Unity의 UnityWebRequest를 사용한다. 실제로 사용하기 위해서는..

Unity 2024.01.31
반응형