본문 바로가기

UNITY34

리스트와 딕셔너리 유니티에서 게임을 개발할 때, 리스트(List)와 딕셔너리(Dictionary)는 자주 사용되는 자료구조입니다. 이 두 자료구조는 각기 다른 특성과 장단점을 가지고 있으므로, 상황에 따라 적합한 자료구조를 선택하는 것이 중요합니다. 각각의 차이점과 장단점을 아래에 정리해드리겠습니다.1. 리스트(List)리스트는 순서가 있는 자료구조로, 요소를 순차적으로 저장하며 인덱스를 통해 접근할 수 있습니다.특징:순서가 있음: 요소가 입력된 순서대로 저장됩니다.인덱스 기반 접근: 각 요소는 인덱스를 통해 빠르게 접근할 수 있습니다.중복 허용: 같은 값을 여러 번 저장할 수 있습니다.가변 크기: 요소를 추가하거나 제거할 수 있습니다.장점:순차적 접근에 유리: 데이터가 순차적으로 저장되어 있어, 순서대로 처리해야 할 때.. 2024. 11. 22.
포물선 그리기 +Vector3.Dot에 대한 이해 Vector3.Dot(throwDirection, Physics.gravity)의 역할 이 값은 던지는 방향(throwDirection)과 중력(Physics.gravity) 사이의 관계를 나타냅니다. 계산 결과: 양수: 던지는 방향이 중력 방향(아래쪽)과 어느 정도 같은 방향. 음수: 던지는 방향이 중력과 반대 방향(위쪽)을 향함. 0: 던지는 방향이 중력과 직각(수평 방향).  Vector3 velocity = Vector3.zero; Vector3 throwDirection = target - transform.position; //목표지점과 현위치의 벡터 측정 float gSquared = Physics.gravity.sqrMagnitude; //중력벡터 .. 2024. 11. 22.
Invoke() :: UnityEvent 또는 델리게이트에 등록된 메서드 실행하기. 이벤트나 델리게이트는 여러 개의 메서드를 한 번에 호출할 수 있는 기능을 제공합니다. Invoke()는 이러한 이벤트나 델리게이트를 트리거(호출)하여, 등록된 모든 리스너 메서드들을 실행하는 역할을 합니다.UnityEvent와 InvokeUnity에서 UnityEvent는 특별히 Unity Inspector에서 설정할 수 있는 이벤트 시스템입니다. 이 시스템을 사용하면 C# 코드 내에서 이벤트를 선언하고, Unity 에디터에서 이벤트에 대한 리스너(메서드)를 등록하고 호출할 수 있습니다.1. UnityEvent 선언 및 사용using UnityEngine;using UnityEngine.Events;public class EventExample : MonoBehaviour{ // UnityEvent.. 2024. 11. 11.
Particle에서 충돌을 감지하는 방법 먼저 파티클 프리팹을 준비한다음 레이어를 데미지필드로 설정한다. (플레이어는 Player레이어로 설정해두어야함)파티클시스템 컴포넌트에서 Type을 World로 지정하고 Collides With에서 파티클과 충돌할 레이어를 하나 지정한다.Send Collision Messages를 체크하여 충돌여부를 전송한다.using System;using UnityEngine;public class ParticleCollider : MonoBehaviour{ private ParticleSystem particleSystem; private void Start() { particleSystem = GetComponent(); } private void OnParticleColli.. 2024. 10. 31.
프로퍼티와 public 필드의 차이점 예시) 값에 따라 NavMeshAgent의 이동속도를 조절하기 위한 프로퍼티 정의private bool _isPatrolling;public bool isPatrolling { get { return _isPatrolling; } set { _isPatrolling = value; if (_isPatrolling) { agent.speed = patrollSpeed; MoveWayPoint(); } } }get의미: get 접근자는 프로퍼티의 값을 읽을 때 사용됩니다.작동 방식: get 블록 안의 코드는 프로퍼티를.. 2024. 10. 29.