목록Dev. Study Note/Unity (49)
Priv's Blog
출처 오브젝트간 거리 체크 / Vector3.Distance, magnitude, sqrMagnitude 유니티 버전 2017.2 오브젝트간의 transform position 거리를 체크하고 싶을 때, 세 가지 방법이 있다. 1) ... blog.naver.com 1. Vector3.Distance 2번 항목에서 설명할 Vector3.magnitude와 성능과 사용 방법은 동일하다. 정확한 거리를 계산해 반환하지만, Vector3.sqrMagnitude보다는 속도가 느리다. 참고 Unity - Scripting API: Vector3.Distance Success! Thank you for helping us improve the quality of Unity Documentation. Although..
출처 [Unity3D] 유니티 에디터에서 플레이 중에 씬 전환시 다음 씬에서 라이트가 어두워지는 버그(5.6) 유니티 에디터에서 플레이 중에 씬 전환시 다음 씬에서 라이트가 어두워지는 버그(5.6) 유니티 5에는 고질적인 버그가 하나 있다. 유니티 에디터에서 게임 테스트를 위해서 플레이 버튼을 눌러서 wergia.tistory.com 1. 시대가 언제인데 유니티 5 이야기를? ...나도 잘 알고 있다. 그런데 어쩌겠어, 옛날에 만든 프로젝트를 업그레이드하는 건 그거대로 귀찮은데(...) 말이다. 그래서 이번에 하고자 하는 말은 유니티 5를 사용했던 당시에 나를 오랫동안 괴롭혀 왔던 버그에 대한 것이다. 출처 블로그에 가면 사진이 있긴 하지만, 함부로 퍼오면 큰일 나니 여기서는 말로만 설명하겠다. 유니티 ..
출처 Lesson 4.1 - Watch Where You’re Going - Unity Learn Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla learn.unity.com 1. 카메라를 돌리자 짐벌-락. 3D 오브젝트를 회전시킬 때 누구도 피할 수 없는 운명의 데스티니. 사실 이 문제를 완벽하게 해결..
출처 Unity - 스크립팅 API: MonoBehaviour.Awake() Awake는 게임이 시작되기 전에, 모든 변수와 게임의 상태를 초기화하기 위해서 호출됩니다. 스크립트 인스턴스가 종료될 때까지 한번만 호출됩니다. Awake는 모든 오브젝트가 초기화되고 호출되기 docs.unity3d.com 1. 속도 경쟁 Start()와 Awake()의 속도를 비교하면 Awake() > Start()라는 말을 여럿 들어보았다. Start()는 Update() 호출 이전 단계에 1회 호출되고, Awake()는 스크립트 인스턴스가 로딩될 때 호출된다. 유니티 공식 도큐먼트에 따르면, Awake는 게임이 시작되기 이전, 모든 변수와 게임의 상태 초기화를 위해 호출된다고 한다. 간략히 순서를 표현하자면, 스크립트 인..
1. 게임은 트릭 쿠키런을 비롯한 횡스크롤 달리기 게임들은 유독 '게임은 트릭'이라는 말이 자주 떠오르는 장르이다. 무한히 생성되는 오브젝트, 무릎 관절이 걱정되는 주인공 캐릭터, 끝도 없이 스크롤되며 멀미를 절로 유발하는 배경화면까지. 이 장르의 게임은 만들기도 쉽고, 플레이하기도 간단해서 튜토리얼에서 자주 사용되는 장르인 것 같다. 뭐, 아무튼. 이게 중요한 게 아니고. 지금 말하고자 하는 부분은 배경화면을 무한히 스크롤하게 만드는 부분에 대한 것이다. 그것도 Collider를 이용해서 말이지. 2. Collider의 사이즈를 가져올 수 있다. 유니티 3년 공부하면서 이건 첨 알았다... GetComponent를 이용해 Collider를 가져온 뒤, .size를 붙여주면 된다. repeatWidth ..
8일차 - White 탄환 기본 기능 구현 완료 (RGB에 상관없이 모든 적 섬멸 가능) - White 탄환 아이템 획득 시 10초 타이머 적용 (10초 간 White 탄환 사용 가능) - White 탄환 아이템을 획득할 때마다 10초 타이머 리셋 기능 적용 RGB 게임의 난이도 조정 필요 (기존의 룰 수정 계획 미완료) 경직 애니메이션의 빈도가 다른 적과 충돌하는 것에 따라 중복 적용되는 문제 발생 (원인 분석 필요) White 탄환의 타이머 종료를 어떻게 표현할 것인가? (타이머 UI 추가 or 플레이어의 색상 임의 변경)
7일차 - 소스 코드 최적화 - White 탄환 아이템 제작 - 아이템 애니메이션 적용 RGB 룰 수정: 게임 난이도 하향 조정 필요 (대미지 조건 또는 적 종류 수정) White 탄환 아이템 등장 조건 조정 필요: 랜덤 스폰(시간제 형식) or 적 처치 후 등장 택1 White 탄환 아이템 애니메이션 조정 필요: 애니메이션 효과가 눈에 들어오지 않는 문제 해결 필요
지정된 범위 내에 게임 오브젝트를 랜덤 좌표에 생성해야 할 경우, 1) 생성 범위를 X좌표, Y좌표를 분리하여 Random.Range()를 이용해 변수에 담는다. 2) Random.Range()를 통해 생성된 X난수, Y난수를 Vector 변수에 담는다. 3) Instantiate()를 이용해 복제한 게임 오브젝트를 Vector 변수에 담은 좌표에 생성한다. 자세한 것은 아래 코드 참고. 1 2 3 4 5 6 7 8 9 10 11 12 13 // Enemy Random Spawn RandomX = UnityEngine.Random.Range(-24, 35); RandomY = UnityEngine.Random.Range(24, -5); RandomPos = new Vector2(RandomX, Rando..