분류 전체보기22 RigidBody를 이용한 이동 AddForce와 Velocity (GetAxis) 유니티에서 오브젝트를 이동시키는데는 대표적으로 Transform을 사용하는것과 RigidBody를 사용하는것 2가지가 있다.이번 포스트에서는 RigidBody에 대해 중점적으로 다룰 예정이므로 가볍게 Transform을 서술하자면Transform 컴포넌트를 사용하여 오브젝트의 위치를 직접 수정하는 방식이다. Translate 메서드를 사용하거나 position 값을 직접 설정할 수 있다.이 방식은 물리적인 계산을 고려하지 않고 위치를 단순히 이동시키기 때문에, 아주 간단한 이동이나 UI 오브젝트 이동 등에 유리하다. 하지만 충돌 판정이나 물리적인 효과는 반영되지 않는다. 그럼 이제 RigidBody를 사용해 이동하는것에 설명하자면 자주 쓰이는 방식으로는 AddForce로 힘을 주는것과 Velocity가 .. 2024. 10. 29. 정적할당과 동적할당(Unity, C#) 먼저 정적과 동적의 사전적의미와 프로그래밍의 맥락에서 설명하면 정적 (Static)사전적 의미: 변하지 않고 고정되어 있는 상태를 의미한다. "정적"이라는 말 자체가 "고정된", "움직이지 않는"이라는 뜻을 가지고 있다.프로그래밍 맥락에서의 의미:프로그램이 실행될 때 변하지 않고 일정하게 유지되는 데이터나 구조를 나타낸다. 한 번 설정되면 계속 그 상태를 유지하는 것을 의미하며, 메모리나 로직이 고정되어 있어 예측 가능하고 일관성이 있다.동적 (Dynamic)사전적 의미: 움직이고 변화하는 상태를 의미한다. "동적"이라는 말은 "활동적인", "변화하는"이라는 뜻을 가지고 있다.프로그래밍 맥락에서의 의미:프로그램 실행 중에 상황에 따라 유연하게 변경될 수 있는 데이터나 구조를 나타낸다. 필요에 따라 생성,.. 2024. 10. 28. Dictionary(딕셔너리) 설명과 사용법 딕셔너리(Dictionary)는 C#에서 매우 유용한 자료구조 중 하나로, 키(Key)와 값(Value) 쌍으로 데이터를 저장하고 관리할 수 있게 해준다. Unity 프로젝트에서 데이터를 효율적으로 관리하고 싶을 때 딕셔너리를 활용하면 많은 도움이 될 수 있다. 딕셔너리는 System.Collections.Generic 네임스페이스에 포함된 제네릭 컬렉션 중 하나로, 키와 값의 쌍으로 데이터를 저장한다. 각 키는 고유(unique)해야 하며, 이를 통해 값에 빠르게 접근할 수 있다. 딕셔너리는 해시 테이블을 기반으로 구현되어 있어 검색, 추가, 삭제 등의 연산이 매우 효율적이다.주요 특징키-값 쌍: 각 데이터는 고유한 키와 이에 대응하는 값으로 저장된다.빠른 검색: 키를 사용하여 값을 빠르게 검색할 수.. 2024. 10. 25. Scriptable Object(스크립터블 오브젝트) ScriptableObject는 Unity에서 제공하는 데이터 컨테이너로, 주로 게임의 설정, 데이터, 공통적으로 사용되는 정보를 저장하는 데 사용된다. 주요 특징은 다음과 같다.1.에셋으로 저장: ScriptableObject는 프로젝트 내에서 에셋으로 저장되므로, 여러 씬이나 객체에서 쉽게 참조하고 공유할 수 있다.2.메모리 절약: 인스턴스화할 필요 없이 에셋으로 존재하므로 메모리 사용을 줄일 수 있다.3.에디터 친화적: 인스펙터를 통해 데이터를 쉽게 편집할 수 있으며, 에디터 스크립트를 통해 확장성 있게 사용할 수 있다.4.데이터 중심 개발: 코드와 데이터를 분리하여 관리할 수 있어 유지보수성과 재사용성이 높아진다.예를 들어, RPG 게임에서 다양한 아이템(무기, 방어구, 소비 아이템 등)을 관리한.. 2024. 10. 24. Unity Object Pool(오브젝트 풀) 설명과 사용예시 유니티에서 Object Pool(오브젝트 풀)은 객체를 효율적으로 관리하기 위한 디자인 패턴 중 하나이다. 게임에서 많은 오브젝트가 생성되고 파괴되는 상황에서 성능 저하를 방지하기 위해 사용한다. 오브젝트 풀링은 미리 일정 수의 오브젝트를 생성해두고, 필요할 때 꺼내서 사용한 후 다시 풀에 반환하는 방식으로 동작한다.Object Pool의 주요 개념오브젝트의 재사용: 게임 중에 자주 생성되고 파괴되는 오브젝트(총알, 적 캐릭터, 파티클 등)를 미리 풀에 만들어 두고, 필요할 때 사용하고 반환한다. 이렇게 하면 매번 오브젝트를 새로 생성하거나 파괴하는 비용을 절감할 수 있다.성능 최적화: Instantiate와 Destroy 함수는 유니티에서 상대적으로 무거운 작업이다. 특히 짧은 시간에 여러 번 호출되면.. 2024. 10. 23. 싱글톤 패턴 싱글톤(Singleton) 패턴은 프로그램 내에서 단 하나의 인스턴스만 존재하도록 보장하는 디자인 패턴이다. 이 패턴은 주로 전역적으로 접근이 필요한 객체를 만들 때 사용되며, 자원 관리, 설정 정보 저장, 상태 공유 등에 유용하다. Unity에서 싱글톤 패턴을 사용하면 주로 게임 매니저, 오디오 매니저, 데이터 관리 같은 객체를 관리할 때 편리하게 사용할 수 있다. Unity에서는 주로 MonoBehaviour를 상속받은 클래스로 싱글톤을 구현한다. Unity에서 싱글톤 패턴을 적용할 때는 주로 DontDestroyOnLoad를 사용하여 씬이 전환되어도 오브젝트가 유지되도록 합니다. 12345678910111213141516171819202122232425262728using UnityEngine; .. 2024. 10. 22. 이전 1 2 3 4 다음