- Today
- Total
Notice
Recent Posts
Recent Comments
Link
250x250
프로그래밍 농장
Cinemachine - Aim(조준) 구현방식 [ Unity ] 본문
728x90
아래와 같이 특정 Key입력을 받게되면 조준점(Aim) 기능이 활성화 되는 방식이다.
일단은 Aim을 수행할 VirtualCamera를 생성해주고, 기본적으로 플레이어를 비추어주는 카메라인 3rdPersonControl을 Follow하여 따라다니고, 조준시야에 맞게 위치를 잡아놓아준다.
현재 시네머신은 하위에 Canvas/Aim(이미지)를 생성해놓고 조준 키 입력을 받을시, 해당 이미지를 활성화 해주며 카메라 전환을 해주는 방식이다.
아래는 3rd Person Aim (에임)할 카메라에 붙는 스크립트이다.
Key입력을 받는것에 따라 카메라의 우선순위(Priority)를 조절해주는 방식으로 구현해주면된다.
using UnityEngine;
public class ActivateOnKeypress : MonoBehaviour
{
public KeyCode ActivationKey = KeyCode.LeftControl;
public int PriorityBoostAmount = 10;
public GameObject Reticle;
Cinemachine.CinemachineVirtualCameraBase vcam;
bool boosted = false;
void Start()
{
vcam = GetComponent<Cinemachine.CinemachineVirtualCameraBase>();
}
void Update()
{
if (vcam != null)
{
if (Input.GetKey(ActivationKey))
{
if (!boosted)
{
vcam.Priority += PriorityBoostAmount;
boosted = true;
}
}
else if (boosted)
{
vcam.Priority -= PriorityBoostAmount;
boosted = false;
}
}
if (Reticle != null)
Reticle.SetActive(boosted);
}
}
728x90