UNITY/PROJECT13 포물선 그리기 +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. NavMeshAgent의 isPathStale, remainingDistance NavMeshAgent의 isPathStale isPathStale 프로퍼티는 현재 경로가 유효한지 여부를 나타내는 Boolean 값입니다. 이 프로퍼티가 true인 경우, 에이전트가 현재 경로를 추적하는데 문제가 발생했음을 의미합니다. 예를 들어, 경로를 계산한 후 환경이 변경되거나, 목표 위치가 이동하는 경우 경로가 더 이상 유효하지 않을 수 있습니다. 이 경우, 에이전트는 새로운 경로를 계산해야 하므로, NavMeshAgent의 SetDestination() 메서드를 호출하여 새로운 목표를 설정하고 경로를 업데이트할 수 있습니다. 이를 통해 에이전트가 장애물이나 환경 변화에 적절히 대응할 수 있도록 도와줍니다. 따라서, isPathStale를 주기적으로 확인하여 경로를 갱신할 필요가 있는지 판단하.. 2024. 10. 29. magnitude와 sqrMagnitude 둘 다 벡터의 크기를 나타내지만, 계산 방식에 차이가 있습니다.주요 차이점:성능: sqrMagnitude는 제곱근을 계산하지 않기 때문에 성능상 이점이 있습니다. 비교할 때는 sqrMagnitude를 사용하는 것이 더 효율적입니다.용도: 거리를 비교할 때 두 벡터의 sqrMagnitude를 사용하면, 거리를 구하는 것보다 빠르게 비교할 수 있습니다. 예를 들어, 두 벡터 간의 거리를 비교할 때, Vector3.Distance(a, b) 이렇게 두 프로퍼티의 차이를 이해하고 적절히 활용하면 성능을 개선할 수 있습니다. 2024. 10. 29. 이전 1 2 3 다음