게임개발 3

빌드 리포트 인스펙터(Build Report Inspector)

빌드 apk 파일이 스토어에 올릴 수 있는 150MB를 넘어가서 Addressable로 전환하는 과정에 빌드에 포함되는 리소스가 어떤 것이 있는 알고 싶어져서 찾아보았다. 유니티 제공하는 SDK 중 Experimental로 제공하는 Build Report Inspector가 있어서 사용하였다. 에디터 버전 : 2022.3.37fSDK 버전 : Build Report Inspector 0.3.0-preview Experimental이기에 UPM(Unity Package Manager)에서 바로 받을 수 없고 아래와 같이 Add package by name을 통해 추가해서 받아야 한다.  Package name에 com.unity.build-report-inspector 를 입력하고 Add 버튼을 누르면 설..

int형 나누기 문제

캐릭터의 경험치 진행율?을 구하기 위해 현재 경험치(Int형)와 목표 경험치(Int형) 변수 2개를 나눗셈하여 float형 변수 progress에 받으려고 했다. 그러나 progress 값이 계속해서 0이 되는 결과값을 받았다. 이는 int와 float의 표현방식의 차이로 인해 발생하는 문제이다. 따라서 float형으로 받기 위해서는 아래 스크립트와 같이 어느 한쪽을 float형으로 바꿔줘야 한다. (int / float) 형태의 계산 방식을 사용해야 옳바른 값을 받을 수 있다. 양쪽 모두 float로 변환해도 무방하지만 한쪽만 해도 상관없다.

적 케릭터 닷지 회피 구현(Enemy Dodge System)

게임을 개발하던 중에 젤다의 전설 야생의 숨결에서 보코블린(적 케릭터)가 공격을 회피(닷지) 하는 것이 생각나서 구현해보았다. [SerializeField] private float dodgeChance = 0.3f; // 닷지 확률(0 ~ 1f 사이 값) [SerializeField] private float dodgeAngle = 30; // 반각 30도, 총 60도 각도 [SerializeField] private float dodgeDistance = 5f; // 닷지할 포인트 거리 [SerializeField] private float counterattackChance = 0.3f; // 닷지 후 반격 찬스 // 플레이어가 공격했을 때 Action을 작동 private void Awake() ..