Unity 47

애니메이션 특정부위에 이벤트 추가하기

유니티로 작업하다보면 특정 애니메이션 상황에서 어떠한 함수가 작동되게끔 하고싶을 때가 있다.물론 Animation 탭에서 이벤트를 추가해서 그리하면된다. 그런데 에셋을 사용하다보면 이런경우가있다. 위 사진처럼 Read-Only로 되어있어서 이벤트를 추가할 수 없는 경우가 그러하다. 해당 애니메이션이 있는 모델을 선택해서 인스펙터창을 보자.이렇게 Read/Write를 체크하자. 그러면 여기 Animation을 살펴보자. 해당 애니메이션에 Event를 추가할 수 있는 곳이 있다. 또한 Loop도 설정할 수 있다.

Unity 2024.11.13

CharacterController

유니티에서 제공하는 컴포넌트이다. 기존의 RigidBody로 움직임을 제어할 경우 벽에 부딪힐 시 벽에 낀다던가 공중에서의 움직임이 부자연스럽다던가하는 문제가 많이 있다. 여기서 유니티에서 제공하는 CharacterController를 알아보자. 이를 위해 유니티에서 제공하는 Starter Asset을 받아 코드를 뜯고씹고맛보고즐기기로하였다.  캐릭터 컨트롤러를 추가하면 다음과 같은 창이 보인다. 그리고 이제 코드를 직접 보자. private void Move(){ // set target speed based on move speed, sprint speed and if sprint is pressed float targetSpeed = _input.sprint ? SprintSpeed : ..

Unity 2024.11.07

적응형 UI

하이라키 : 일종의 출석부? 씬에 참여한 모든 오브젝트들 Asset : 일종의 대기실? 창고? 쉽게표현하자면 하이라키창에 것들은 창고의 것들을 마음껏 사용할 수 있다. (Instantiate유무) 인스펙터 : 오브젝트들의 신상명세서(?) ********************** 좌표계 : Transform의 Position을 절대좌표라고한다. 자식오브젝트는 상대좌표. (Scale도 마찬가지로 부모를 따라감) Screen좌표계 : Rect Transform. UI전용의 특수한 좌표계 이벤트 시스템 : 화면을 클릭해서 상호작용을 발생시키는 것이므로 그걸 인지하는 시스템 Screen Space - Overlay : 카메라를 덮어서 촬영한다. (카메라 크기를 따라가서 RectTransform 조절불가 Scren..

Unity 2024.11.06

NewInputSystem

Input System 기존방식 입력을 받는 기능과 움직임을 계산하는 기능이 함께 있다 => 단일책임원칙 위배 ●인풋시스템 - direct 방식 InputSystem선언, 변수 선언후 Start에서 연결하면 기존 InputManager에서 쓰던방식으로 사용가능 ex) using UnityEngine.InputSystem 선언 Keyboard keyboard 선언 start에서 keyboard = Keyboard.current; (메인카메라 가져오듯이) 그러면 keyboard.aKey.isPressed 등을 직접 받을 수 있다. isPressed (누르는 중에 true) wasPressedThisFrame : 처음 눌렀을 때 프레임에서만 true wasReleasedThisFrame : 처음 땠을 때 프레..

Unity 2024.11.05

DepthOnly로 1인칭 총만들기

메인카메라는 Equip레이어를 찍지 않는다.서브 카메라는 Equip레이어만을 찍는다. 이 둘을 섞는 것으로 화면을 움직여도 화면 한쪽엔 총을 들고있는 화면이 완성된다. 그런데 내가 화면을 올리면 총구도 움직일까? 정답은 No! 내가 화면을 돌려도 총은 그자리에 서있다. 그렇다면 총알발사위치와 총구화염은 어디서 만들어야할까?  처음엔 총 오브젝트의 자식오브젝트로 총구위치에 화염과 총알을 위치하였다. 이러면 내가 위를 보고 쏘는 순간 절대좌표상으로는 총구앞에서 쏜것이지만 내 화면엔 총도 같이 올라왔는데 실제로는 올라오지 않는 상황이 벌어져 총알이 아래에서 나오는 것으로 보이게된다. 명심하자. 스크린상에서 위치를 바꾸고싶으면 카메라를 생각해야한다.총알 발사 위치를 간단하게 카메라의 자식오브젝트로 설정한 것으로..

Unity 2024.11.01

Zomvid-19

시골에 살던 어느 농부는 어느날 티비를 보게된다. 치지직.."좀비 바이러스가 퍼져서 집 밖으로의 외출을 자제해주시기 바랍니다" 라는식의 좀비 + 서바이벌게임을 합친 게임을 제작하게되었다. 내가 맡은 파트는 식사와 수분관리, 적과의 전투 애니메이션, 생존 관리 시스템 등 플레이어와 관련된 것들이다. 오늘 진행은 InputSystem을 이용한 움직임, 1인칭 카메라의 제작, 무기애니메이션과 Trail Renderer를 활용해 궤적그리기, 체력, 스태미너같은 Condition들을 보여주는 UI를 제작하였다.오늘은 기존 강의에서 배웠던것을 바탕으로하는 복습느낌으로 진행하였고 내일부터는 상호작용에 관한 스크립트를 작성할 예정이다.

Unity 2024.10.31