이제 화면에 공을 만들어서 중력을 받게 했으니 내가 원하는 방향으로 조종할 수 있게 해야한다.

에셋에 오른쪽 클릭하고 Create -> Folder 를 선택해도 되고

Project 창 바로 아래에 + 아이콘을 눌러서 Folder를 선택해도 된다. 그럼 Assets에 폴더가 추가된다.

그다음 폴더를 우클릭후 Rename을 통해 폴더 이름을 Scripts로 변경해준다.

그리고 똑같이 C# Script를 추가해주고 PlayerBehaviour 로 이름을 변경해준다.
나중에 만약에 어떤 오브젝트(Cube 등)에 스크립트를 추가했는데 Can't add script 오류가 발생하면


스크립트 이름과 public class 이름이 달라서 그런거니까 둘중 하나를 바꿔서 두개가 똑같게 해주면 된다.

공의 방향을 지정해줘서 스크립트에 추가한다
X 방향 = 왼쪽, 오른쪽으로 이동
Y 방향 = 위, 아래로 이동
Z 방향 = 앞뒤로 이동

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerBehaviour : MonoBehaviour
{
// Rigidbody 컴포넌트 참조
private Rigidbody rb;
// 공이 좌우로 움직이는 속도
public float bollspeed = 5;
// 자동으로 공이 앞으로 움직이는 속도
public float autospeed = 5;
// Start is called before the first frame update
void Start()
{
// Rigidbody 컴포넌트에 접근
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
// 좌우로 움직이는지 확인
var horizontalSpeed = Input.GetAxis("Horizontal") * bollspeed;
rb.AddForce(horizontalSpeed,0,autospeed);
}
}

작성을 다하고나서 공(플레이어) 오브젝트를 누르고 Add 컴포넌트를 눌러서 C# 스크립트 이름을 검색해서 추가하거나
C# 스크립트를 드래그해서 가운데 화면에 공에 직접 넣어도 되고, 드래그해서 공 오브젝트 오른쪽 인스펙터 창에 추가해도 된다. 그렇게 하면 스크립트가 추가된것을 확인 할 수 있다.
그리고 실행시키면 엄청난 속도로 공이 앞으로 튀어나가는 것을 확인 할 수 있다.
스크립트에서 변수앞에 public을 붙이면 스크립트 창에 들어가지 않고도 인스펙터창에서 변수값을 자유롭게 수정이 가능하다.


C# 스크립트에서 [Tooltip("내용")]을 작성하면 인스펙터 창에서 변수(속성)값에 마우스를 올려 놓았을 때 다른 사람들이 알아보기 쉽게끔 설명을 추가할 수 있다.


C# 스크립트에서 [Range(범위,범위)]를 지정하면 지정한 범위를 벗어날 수 없게끔 지정할 수 있다. ( MAX, MIN 같은 개념 )
그리고 값을 입력 안하고 마우스로 드래그해서 값을 수정 할 수 있다.
| Update, FixedUpdate (0) | 2023.06.05 |
|---|---|
| RequireComponent 어트리뷰트 (0) | 2023.06.05 |
| 1. 플레이어 생성하기 (0) | 2023.06.05 |
| unity enter safe mode? (0) | 2023.06.05 |
| keytool 안될때 해결방법 (0) | 2023.06.01 |