본문 바로가기

전체 글537

[유니티 Note] 섹션 7-1 # Animator Component 애니메이션을 사용하기 위해서는 Animator Component를 활용하면 된다Animation Component는 구버전 레거시이다 # AnimatorController 제작 및 설정원하는 폴더 위치에서 우클릭 Create > AnimatorController 선택하면 생성된다 AnimatorController는 언리얼의 애니메이션 블르프린트와 동일한 역할이다AnimatorController에서 Alt 키 누르고 왼쪽 클릭 상태로or 마우스 중간버튼 누른 상태로 이동 가능하다원하는 Node를 클릭 후, Inspector 창에서 이름을 포함한 세부 설정이 가능하다 # Animator 코드 기초 활용법AnimatorController의 Node 이름을 호출할 수 있다A.. 2025. 7. 5.
[유니티 Note] 섹션 6-3 # 카메라 시점이 벽에 막히면 당겨주는 기능 구현해당 기능을 구현하기 위해서는CameraController 클래스의 LateUpdate에서Raycasting을 실행해서 특정 Layer를 감지하는 경우에카메라의 월드좌표를 조금 당겨주면 된다private void LateUpdate(){ if(_mode == Define.CameraMode.QuarterView) { RaycastHit hit; if(Physics.Raycast(_player.transform.position, _delta, out hit, _delta.magnitude, LayerMask.GetMask("Wall"))) { // 벽이 있는 경우 float d.. 2025. 7. 2.
[유니티 Note] 섹션 6-2 # 클릭한 위치로 캐릭터 이동하는 기능 구현- InputManager 클래스 코드 추가 및 수정기존 KeyAction 뿐 아니라 MouseAction 델리게이트 이벤트를 생성해서이를 활용하면 된다using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class InputManager{ public event Action KeyAction = null; public event Action MouseAction = null; bool _mousePressed = false; public void OnUpdate() { if (KeyAction != nul.. 2025. 7. 2.
[유니티 Note] 섹션 6-1 # CameraComponent 옵션- Clipping Planes의 Near, Far절두체 Near, Far 수정 - FOV시야각 - Culling MaskLayer에 따라 컬링 - Target Texture카메라라 렌더링 한 화면을 실시간(매 프레임마다)으로RenderTexture로 저장 및 변환하는 기능ex. CCTV, 미니맵, 후방/측면 카메라,… # QuarterView 구현1번 방식)캐릭터에 MainCamera를 아래로 포함시키는 방식으로해당 방식은 회전할 때도 따라가는 상황이 발생한다게임에 따라 다르겠지만 일단 현재 실습에서는 원치 않기에 해당 방식을 사용하지 않는다 2번 방식)MainCamera에 붙일 CameraController에서 관리하는 방식으로Position, Rotation(Lo.. 2025. 7. 2.
[유니티 Note] 섹션 5-6 # LayerMask- LayerMask 필요 이유 및 개념Raycasting은 연산 부하가 매우 크다이를 최적화하는 다양한 방법이 있다 복잡한 MeshCollider 대신 충돌용 Collider로 Raycasting을 하도록 하는 방식이 있다이 방식은 당연히 최적화를 위해 많이 사용되는 방법이지만Raycasting에서 해당 방식은 오브젝트가 많은 경우에 효과는 미비하다 그래서 모든 대상이 아닌 특정한 종류(대상)만 Raycasting을 하도록bitmask를 이용한 것이 LayerMask이다 - Layer 추가방법아무 오브젝트의 Inspector에서Layer를 클릭해 AddLayer를 통해 우리가 원하는 Layer 추가 가능하다 - Layer 설정방법Layer를 지정해주고 싶은 오브젝트의 Inspecto.. 2025. 7. 2.
[유니티 Note] 섹션 5-5 # Raycasting 실전 활용 예시월드 카메라 위치에서 마우스가 클릭한 스크린좌표로 Raycasting을 해서오브젝트들을 탐지하는 경우를 코드로 구현하는 예시를 알아보자 주의할 점은마우스가 클릭한 스크린 좌표를 월드좌표로 변환해야한다2D(스크린)에서 3D(월드)로 변환하려면, 그 과정에서 z값이 필요한데near 값을 입력해주면 딱 시작 지점이 지정된다 이렇게 하면,카메라에서 마우스 포지션(월드)으로 방향이 나오게 된다해당 방향은 방향만을 활용하기위해 정규화를 진행하면된다if(Input.GetMouseButtonDown(0)){ Vector3 worldMousePos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.. 2025. 7. 2.