목록Unity TeamProject (5)
개발일기

1. Link플레이 영상 : https://youtu.be/QpnbotcW4Ec 2. 구현한 기능1) 대화 시스템 구현아래는 구현한 대화 시스템 화면입니다. 선택지를 고를 수 있게 구현했으며, 대화 중에도 함수를 호출시켜 이벤트가 실행될 수 있도록 구현했습니다. Dialogue 데이터를 저장하는 클래스 형식을 만들고 Dial ogueManager에서 Json 파일을 읽어 Dialogue Class에 맞게 변환한 후 저장했습니다.대화를 진행할 때는 DialogueManager에서 해당 대화의 정보를 UI에 전달해 대화가 출력되도록 구현했습니다. 다음은 Dialogue System을 만드는 코드의 일부를 가져왔습니다.다음은 Json 데이터에서 불러오는 Dialogue Data Class들입니다.[Serial..

1. Link깃허브 주소 : https://github.com/KooKyoSeoung/BRIDGE_GameJam.git 플레이 영상 : https://youtu.be/JAfHwUaNQT0플레이 영상 2. 구현한 기능1) 시간여행 기능 시간여행이 가능한 물체들을 전부 리스트에 저장하고 시간여행을 하면 해당 시간대에 맞게 활성화/비활성화를 했습니다.public void ChangeTimeZoneItem(TimeTravelItem _excludeTimeTravelItem = null) { int timeTravelItemCnt = timeTravelItemList.Count; if (_excludeTimeTravelItem == null) { ..

1. Spawn시 문제 제가 의도한 생성 위치는 빨강색 네모로 표시된 지점인데, 실행하면 문 밖에 생성이 되는 문제점이 생겼습니다. 2. 문제 파악 코드가 잘못되었는지 확인해보기 위해 다음 메서드들을 실행시켜 확인했습니다. Setup은 게임 실행시 한번만 호출되고 ResetPosition은 조건을 만족하면 위치를 초기화해주는 메서드입니다. public override void Setup(MonsterData.MonsterStat stat) { initPosition = stat.initTransform; initRotation = stat.initRotation; transform.position = initPosition; transform.eulerAngles = initRotation; } publ..

1. 무작위 경로 설정 경로를 설정하고자 하는 물체를 기점으로 아래와 같이 큰 원을 그리고, 해당 원 안에 한 점을 무작위로 설정하여 이동하는 방식을 구현해봤습니다. protected override void Patroll() { Vector3 point; patrolMonster = true; if (RandomPoint(transform.position, detectDist, out point)) { Debug.DrawRay(point, Vector3.up, Color.blue, 1.0f); nav.SetDestination(point); } } protected bool RandomPoint(Vector3 center, float range, out Vector3 result) { Vector3 r..

1. Scriptable Object란? Scriptable Object는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. 데이터를 참조 형태로 오브젝트에서 가져올 수 있게 함으로써 메모리 할당을 최소화하고 고유한 값을 가질 수 있게 합니다. MonoBehaviour와 마찬가지로 Scriptable Object는 기본 Unity 오브젝트에서 파생되나, MonoBehaviour와는 달리 Scriptable Object를 연결할 수 없으며 대신 프로젝트의 에셋으로 저장해야 합니다. 다음은 Scriptable Object를 사용하게 해주는 코드입니다. using UnityEngine; [CreateAssetMenu(fileName = "Data", menuName..