[Unity/C#] 버튼 여러 번 클릭시 해당 animation 두 번 실행 버그
·
Unity
상황 및 발생한 버그 설명 우선 이 게임은 하단의 버튼 UI(영상에는 안 넣었다.)를 누르면 발판을 한 칸씩 올라가는 방식이다. 따라서 다음 블럭 색과 같은 색의 버튼을 누르면 (한 칸씩 올라가며) 애니메이션이 발동 되도록 했다. 애니메이션을 발동시킬 때는 animator의 trigger를 사용하여 다음과 같은 코드를 사용했다. animator.SetTrigger("ClimbTrigger"); 애니메이션은 잘 적용 되었으나....문제는 버튼을 빠르게 연달아 누르면 상단의 문제 영상과 같이 애니메이션이 두 번 발동되는 것이다. (천천히 올라가면 문제가 발생하지 않았다.) 정말 몇 번 연속 빠르게 올라가든 항상 두 번씩만 반복 재생되었다. 따라서 이를 해결하기 위해 animator.ResetTrigger(”..
유니티 게임 프로토타입 연습: 우주 슈팅 게임 (1)
·
프로젝트
해당 글은 를 따라하면서 공부하는 과정을 담았다.▶ 아트 에셋 세팅 이번 게임에서는 직접 아트 에셋을 제작하는 대신, 유니티 에셋 패키지를 불러와 사용할 것이다.-> book.prototools.net/의 "Chapter 30: Prototype 3: Space Shmup" - C30_Space_SHMUP_Starter.unitypackage 파일 다운로드-> 이후 유니티 메뉴 표시줄 - Assets - Import Package - Custom Package 클릭-> unitypackage 파일 선택 - 모든 파일 Import ▶ 씬 설정 _MainCamera-> Transform을 P:[0,0,-10] R:[0,0,0] S:[1,1,1]로 설정-> Camera (컴포넌트) - Clear Flags ..
유니티 게임 프로토타입 연습: 성 부수기 (3) - 완성
·
프로젝트
해당 글은 를 따라하면서 공부하는 과정을 담았다.▶ 성 만들기 축 기즈모의 Persp를 클릭해 Iso로 바꾼 후, 메인 카메라를 클릭해 씬 뷰를 조절했다. 목표지점(Goal)-> Material을 적용해 옅은 초록색으로 표시함-> BoxCollider - isTrigger를 true로 지정함 (인스펙터에서 체크) 성 벽-> Rigidbody 컴포넌트를 추가, 이후 수정이 용이하도록 프리팹으로 만들었다.-> Rigidbody - Freeze position.z를 true로 지정했다. (인스펙터에서 체크함)-> Rigidbody - Mass를 4로 변경했다. -> 첫 번째 성을 프리팹으로 만든 후, 복제(Ctrl + C)하여 다른 성들도 만들었다. ▶ 목표 지점 반응 추가 Goal 오브젝트에 들어갈 C# ..
유니티 게임 프로토타입 연습 : 성 부수기 (2)
·
프로젝트
해당 글은 를 따라하면서 공부하는 과정을 담았다.▶ 스크립트 코딩 Slingshot 클래스(새총)-> OnMouseEnter() : 마우스 포인터가 Collider 안으로 들어가면 실행-> OnMouseExit() : 마우스 포인터가 Collider 밖으로 나가면 실행 -> OnMouseEnter()와 OnMouseExit()은 모든 Collider와 트리거에 사용될 수 있음 -> Halo를 코드에서 직접적으로 조종할 수 없기 때문에 이를 포함하고 있는 LaunchPoint를 조작함. -> GameObject.Find() : 오브젝트를 찾을 때 hierarchy 리스트 전체를 쭉 긁어내면서 찾음. 비활성화된 오브젝트 감지X-> transform.Find() : 대상 오브젝트의 부모나 자식 오브젝트 중에서..
유니티 게임 프로토타입 연습 : 성 부수기 (1)
·
프로젝트
해당 글은 를 따라하면서 공부하는 과정을 담았다.성 부수기 : 새총으로 포탄을 발사해 성을 부수는 게임▶ 아트 에셋 만들기 1) 바닥 만들기-> Cube로 바닥 생성-> 이름은 Ground로 변경-> 새로운 Material을 만들어 갈색으로 지정, Ground에 연결했다. 2) 방향광 추가-> Directional Light - P:[-10,0,0] R:[50,-30,0] S:[1,1,1]-> 사실 아직도 방향광에 따라 물체의 명암 변화를 못 느끼겠다.. 이건 나중에 더 찾아봐야 할듯 3) 카메라 설정-> 직교 투영 카메라에서 Size는 카메라 뷰의 중심부터 하단까지의 거리를 설정함--> Size는 카메라가 볼 수 있는 시야 높이의 절반-> 16:9로 화면비 설정 4) 새총 제작-> 원기둥 세 개..
유니티 게임 프로토타입 연습 : 사과 받기
·
프로젝트
해당 글은 를 따라하면서 공부하는 과정을 담았다.▶초기 아트 에셋 제작 Transform에 있는 Position, Rotation, Scale은 각각 컴포넌트의 위치, 회전, 배율값(크기)을 의미한다.책에서는 이 컴포넌트의 설정을 설명할 때 Trunk(Cylinder) P:[0,0,0] R:[0,0,0] S:[1,1,1] 의 형식으로 설명하는 듯. 3D Object - Sylinder (원기둥)3D Object - Sphere (구)--> 이 둘을 이용해 나무(나무 기둥-Trunk+잎-Sphere) 표현 + 사과 표현--> 빈 오브젝트(AppleTree)를 만든 후, 이 둘(나무 기둥+잎)을 함께 묶어줌. 이후 질감 적용 후 프리팹으로 만들기. 3D Object - Cube--> Basket 만들고 프리..