state machine3 UNITY DOTS - State Machine(상태 머신) 만들기 #6 색상 변경 오늘 알아볼 내용 Guard의 상태(순찰, 대기, 추격)에 따라 Material이 변경되는 방법에 대해 다룹니다. Component 1. GuardAuthoring.cs 수정 색상이 변경되어야 할때 추가할 IsInTransitionTag를 GuardAuthoring.cs에 추가합니다. public struct IsInTransitionTag : IComponentData { } 2. MaterialSingletonAuthoring.cs 작성 MaterialSingletonAuthoring.cs 파일을 만들고 아래의 코드를 작성합니다. using Unity.Entities; using Unity.Mathematics; using UnityEngine; class StateTransitionMaterials.. Unity DOTS/따라하며 배우기 2022. 8. 8. UNITY DOTS - State Machine(상태 머신) 만들기 #5 Guard 추격 오늘 알아볼 내용 Guard의 탐색 범위에 Player가 존재하면 추격상태로 변경하고 탐색범위 밖으로 도망가면 Idle 상태로 변경하는 것에 대해 다룹니다. 범위를 탐색하기 1. Authoring Guard의 탐색범위를 저장할 ComponentData가 필요하다. GuardAuthoring.cs 에 아래의 코드를 추가한다. public struct VisionCone : IComponentData { public float AngleRadians; public float ViewDistanceSq; } 위에서 만든 ComponentData를 GuardAuthoring class의 전역변수로 추가한다. // 탐색 범위와 거리 public float VisionAngleDegrees = 45.0f; publ.. Unity DOTS/따라하며 배우기 2022. 8. 7. UNITY DOTS - State Machine(상태 머신) 만들기 #4 Guard 순찰 오늘 알아볼 내용 Guard가 목적지에 도착하면 Idle 상태가 되고 CoolTime 동안 대기를 한 뒤에 다음 목적지로 이동하는 순찰을 구현할 예정입니다. Idle 상태 만들기 1. ComponentData 추가 Idle 상태가 되면 Guard에게 얼마동안 휴식을 취했는지 저장하는 IdleTimer Data를 추가합니다. GuardAuthoring.cs에 아래의 코드를 추가합니다. public struct IdleTimer : IComponentData { public float Value; } 2. GuardAIUtility Idle 상태가 되면 IdleTimer를 Guard에 추가하는 기능을 만듭니다. 아래의 코드를 GuardAIUtility.cs에 추가합니다. /// /// Idle 상태로 변경 .. Unity DOTS/따라하며 배우기 2022. 8. 7. 이전 1 다음 💲 추천 글