- 마우스 클릭 위치로 캐릭터 이동하기.
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class PlayerMove : MonoBehaviour
{
[SerializeField] Transform target;
NavMeshAgent navMeshAgent;
void Start()
{
navMeshAgent = GetComponent<NavMeshAgent>();
}
void Update()
{
if(Input.GetMouseButtonDown(0))
{
MoveToCursor();
}
}
private void MoveToCursor()
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
bool hasHit = Physics.Raycast(ray, out hit);
if (hasHit)
{
navMeshAgent.SetDestination(hit.point);
}
}
}
- 카메라가 캐릭터를 따라다니기
- 인스펙터 창에서 카메라 위치값, 각도값 조정해가면서 알맞은 카메라 화면 만들기.
using UnityEngine;
public class FollowCam : MonoBehaviour
{
[SerializeField] Vector3 CameraPosition;
[SerializeField] Vector3 CameraDirection;
void Update()
{
Camera.main.transform.position = transform.position - CameraPosition;
Camera.main.transform.rotation = transform.rotation * Quaternion.Euler(CameraDirection);
}
}
캐릭터 하위 오브젝트를 만들어서 캐릭터와 위치값을 동일하게 만들고, 카메라가 이 하위오브젝트를 따라다니게 한다.
- 다른 방법
- 메인 카메라를 FollowCam오브젝트 밑에 두고 FollowCam오브젝트의 위치값을 플레이어와 동기화시킨다.
- 그리고 메인 카메라의 Transform 값을 조정해서 캐릭터와의 거리를 조절한다.
using UnityEngine;
public class FollowCam : MonoBehaviour
{
[SerializeField] Transform target;
void Update()
{
transform.position = target.position;
}
}
유니티 RPG 초반 코드 (Basic Combat) (0) | 2024.09.19 |
---|---|
유니티 캐릭터 내비게이션 이동 및 공격 기본 세팅 (0) | 2024.09.19 |
유니티 마우스로 게임화면 클릭한 위치를 카메라로부터 선 그리기 (2) | 2024.09.18 |
유니티 적 몬스터 이동, 공격, 사망 설정하기 (1) | 2024.09.16 |
유니티 아이템,총알 습득하기 (0) | 2024.09.16 |