유니티 4

Unity Script에서 HEX(Hexadecimal) 값으로 Color 변환하는 법

유니티에서 일반적으로 RGB 값 할당하여 Color를 가져온다. 예를들어 위의 Color 값을 가져오기 위해서 아래와 같이 코드로 작성하여 가져왔다. using UnityEngine; ... Color newColor = new Color(0.9622f, 0.8615f, 0.413f, 1f); 원하는 Color를 일일이 RGB 값을 써야한다는 것이 여간 불편한 일이 아니다. 이런 방식이 아닌 웹(HTML)에서 컬러 값을 가져올 때 사용하는 방식인 Hexadecimal(이하 HEX) 값을 사용하여 Color 값을 가져올 수 있다. 코드는 아래와 같이 작성하면 된다. using UnityEngine; ... Color setColor; ColorUtility.TryParseHtmlString("#7F7E83..

New InputSystem 에서 마우스 스크롤(휠) 값으로 카메라 줌 만들기

기존 InputManager에서 InputSystem으로 갈아타면서 수정해주고 알아가야할게 많다. 마우스 스크롤 값 또한 구글링을 해도 잘 나와있지 않았다. > 먼저 InputActions에서 마우스 휠값을 받을 Actions을 생성해야 한다. > Action Type은 Pass Through로, Control Type은 Axis로 설정 한다. > 그리고 Actions 오른쪽의 +를 눌러 Add Binding을 눌러 바인드를 생성한다. > Path에서 Mouse를 누르고 아래쪽에 Scroll의 Y값을 받도록 설정한다. Action은 설정이 되었고, 스크립트를 보기전에 먼저 InputActions의 클래스를 생성해야 한다. 아래와 같이 Generate C# Class를 체크하고 Apply를 눌러 클래스를 ..

Cinemachine Free Look Camera 민감도 조절

Cinemachine Free Look Camera을 통해 캐릭터 화면 회전을 하게 되면 버벅이거나 끊겨서 움직여지는 것처럼 느껴질 것이다. 그 이유는 기본적으로 InputManager의 Mouse X, Mouse Y의 입력을 받기 때문인데, 민감도 설정이 1로 되어 있기 때문에 세밀한 움직임을 갖지 못하는 것이다. 조금 부드럽게 움직이고 싶으면 아래와 같이 하며 된다. 1. 상단의 Edit - Project Settings - InputManager를 연다. 2. InputManager에서 Mouse X와 Mouse Y의 Sensitivety(민감도) 값을 1보다 낮춰준다. (기본값 1은 윈도우 마우스 민감도와 같다.)

적 케릭터 닷지 회피 구현(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() ..