728x90
npc와 대화하는 것을 만들기 위해서 플레이어가 바라보는 방향으로 RayCast를 만들어보겠다. 수평, 수직 방향 이동과 동일한 프로젝트에서 진행되기 때문에 코드를 이어가겠다.
1
2
3
4
5
6
7
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
Vector3 playerDir;
|
수평, 수직 방향 이동 플레이어 스크립트에서 추가되는 것은 playerDir이다.
- playerDir - 플레이어가 바라보는 방향에 대한 정보를 저장할 변수이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
void Update()
{
hInput = Input.GetAxisRaw("Horizontal");
vInput = Input.GetAxisRaw("Vertical");
if (hInput == 0 && vInput != 0)
{
isHorizontalMove = false;
if (vInput == 1)
playerDir = Vector3.up;
else if (vInput == -1)
playerDir = Vector3.down;
}
else
{
isHorizontalMove = true;
if (hInput == 1)
playerDir = Vector3.right;
else if (hInput == -1)
playerDir = Vector3.left;
}
}
|
수평, 수직 방향 이동에서 상, 하 이동과 좌, 우 방향에 관한 조건문을 추가해주고, 그 방향에 맞게 playerDir의 값을 지정해주었다.
1
2
3
4
5
6
|
void FixedUpdate()
{
Debug.DrawRay(rigid.position, playerDir * 1.0f, Color.red);
RaycastHit2D raycast = Physics2D.Raycast(rigid.position, playerDir * 1.0f);
}
}
|
마지막으로 플레이어가 있는 위치에서 DrawRay를 사용하여 Ray를 그려준다.
728x90
'Unity' 카테고리의 다른 글
[Unity] 플레이어를 이용한 선택적 무한 배경(2) (0) | 2020.05.11 |
---|---|
[Unity] 플레이어를 이용한 선택적 무한 배경(1) (0) | 2020.05.10 |
[Unity] 수평, 수직이동을 시켜보자 (0) | 2020.05.09 |
[Unity] 무한 배경 만들기: Background Scrolling (2) | 2020.04.29 |
[Unity] RotateAround()를 이용한 빙글빙글 돌기 (0) | 2020.04.12 |