๊ธฐ๋ณธ ๋ฉ์๋
void Awak
๊ฒ์์ ์์ํ๊ธฐ ์ ์ ๋ณ์ ๋ฑ์ ์ด๊ธฐํํ๊ธฐ ์ํด ์ฌ์ฉ
์คํฌ๋ฆฝํธ๊ฐ ์คํ๋ ๋ ๊ฐ์ฅ ์ฒ์ ํ๋ฒ ์คํ๋๋ ํจ์
void Start
1๋ฒ๋ง ์คํ๋๋ ํจ์๋ก Update ํจ์๋ณด๋ค ์ฐ์ ์ ์ผ๋ก ์คํ
๋ค๋ฅธ ์คํฌ๋ฆฝํธ๋ค์ Awake()๊ฐ ์คํ์ด ์ข ๋ฃ๋๋ฉด ์คํ
๋ฐ๋์ ์คํฌ๋ฆฝํธ๊ฐ ํ์ฑํ ๋์ด ์์ด์ผ ์คํ
void Update
ํ๋์ ํ๋ ์๋ง๋ค ํ๋ฒ์ฉ ํธ์ถ๋๋ ์๋ช ์ฃผ๊ธฐ ํจ์
๋ฐ๋์ ์คํฌ๋ฆฝํธ๊ฐ ํ์ฑํ ๋์ด ์์ด์ผ ์คํ
ํ๋ ์๋ง๋ค ๋ฐ๋ณต๋๋ฏ๋ก update๋ฅผ ๊ณผํ๊ฒ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ด ์ ํ
void FixedUpdate
๋ฌผ๋ฆฌ ์ฐ์ฐ ํ๋ ์๋ง๋ค ํธ์ถ๋๋ ์๋ช ์ฃผ๊ธฐ ํจ์
๋ฌผ๋ฆฌ ํจ๊ณผ๊ฐ ์ ์ฉ๋(Rigidbody) ์ค๋ธ์ ํธ๋ฅผ ์กฐ์ ํ ๋ ์ฌ์ฉ
void LateUpdate
ํ๋ ์์ด ์ข ๋ฃ ๋๊ธฐ ์ ์คํ๋๋ ์๋ช ์ฃผ๊ธฐ ํจ์
๋ฌผ๋ฆฌ ์ด๋ ๊ตฌํ ๋ฐฉ๋ฒ
1. ํ์ ์ค๋ค : rigid.AddForce(inputVec);
2. ์๋ ์ ์ด : rigid.velocity = inputVec;
3. ์์น ์ด๋ : rigid.MovePosition(rigid.position + inputVec);
MonoBehaviour | ๊ฒ์ ๋ก์ง ๊ตฌ์ฑ์ ํ์ํ ๊ฒ๋ค์ ๊ฐ์ง ํด๋์ค |
GetComponent<>() | ์ค๋ธ์ ํธ์์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ ธ์ค๋ ํจ์ |
Input | ์ ๋ํฐ์์ ๋ฐ๋ ๋ชจ๋ ์ ๋ ฅ์ ๊ด๋ฆฌํ๋ ํด๋์ค |
GetAxis | ์์์ ๋จ์๋ก ์ ๋ ฅ๊ฐ์ ๋ฐํ( ๋ถ๋๋ฌ์ด ์ด๋, ๋ฐ์์๋๊ฐ ๋๋ฆผ ) |
GetAxisRaw | -1, 0, 1์ ๊ฐ์ผ๋ก ์ ๋ ฅ๊ฐ์ ๋ฐํ ( ์ด๋, ๋ฐ์์๋๊ฐ ๋น ๋ฆ ) |
nomalized | ๋ฐฑํฐ ๊ฐ์ ํฌ๊ธฐ๊ฐ 1์ด ๋๋๋ก ์ขํ๊ฐ ์์ ๋ ๊ฐ |
fixedDeltaTime | ๋ฌผ๋ฆฌ ํ๋ ์ ํ๋๊ฐ ์๋นํ ์๊ฐ |
Input System
์ ๋ํฐ์ ์ต์ ๋ฒ์ ๋ถํฐ๋ ์๋กญ๊ฒ ๋์ ๋ Input System์ ํตํด ๋ฌผ๋ฆฌ ์ด๋ ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค.
Package Manager์์ Input System์ ๋ค์ด๋ก๋ ๋ฐ๊ณ import๋ฅผ ํ๋ฉด ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
InputSystem์ ๋ง๋ค๊ณ Processors์ Normalize Vector 2๋ฅผ ์ถ๊ฐํ๋ฉด ์ค๋น๋ ๋์ด๋ค.
์ด์ C# Script๋ฅผ ํตํด์ InputSystem์ ๊ฐ์ ธ์ค๊ณ ์ ์ฉํ๊ธฐ๋งํ๋ฉด ๋๋ค.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class Player : MonoBehaviour
{
public Vector2 inputVec;
public float speed;
Rigidbody2D rigid;
void Awake()
{
rigid = GetComponent<Rigidbody2D>();
}
void FixedUpdate()
{
Vector2 nextVec = inputVec * speed * Time.fixedDeltaTime;
rigid.MovePosition(rigid.position + nextVec);
}
void OnMove(InputValue value)
{
inputVec = value.Get<Vector2>();
}
}
Update๋ก GexAxisRaw๋ฅผ ํตํด ๊ฐ์ ธ์ค๋๊ฒ์ด ์๋ using์ผ๋ก InputSystem์ ๊ฐ์ ธ์ค๊ณ
OnMoveํจ์๋ฅผ ํตํด์ Vector2 inputVec ๋ณ์์ ๊ฐ์ ธ์ค๋ ์ ๋ ฅ๊ฐ์ value.Gex<Vector2>()๋ฅผ ํตํด์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ฝ๋๊ฐ ํจ์ฌ ๊ฐํธํด์ง๊ฑธ ํ์ธํ ์ ์๋ค.
'๐ฎ Unity > Project' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unity] ๋ก๊ทธ๋ผ์ดํฌ ์์กด RPG (5) - ๋ชฌ์คํฐ ์ํ (0) | 2024.04.17 |
---|---|
[Unity] ๋ก๊ทธ๋ผ์ดํฌ ์์กด RPG (4) - ๋ชฌ์คํฐ ๋ง๋ค๊ธฐ (0) | 2024.03.13 |
[Unity] ๋ก๊ทธ๋ผ์ดํฌ ์์กด RPG (3) - ๋ฌดํ ๋งต ์ด๋ (1) | 2024.03.10 |
[Unity] ๋ก๊ทธ๋ผ์ดํฌ ์์กด RPG (2) - 2D ์ ์ ๋๋ฉ์ด์ ์ ์ (0) | 2024.02.28 |
[Unity] ๋ก๊ทธ๋ผ์ดํฌ ์์กด RPG (1) - ํ๋ ์ด์ด ์ด๋ ๊ตฌํ (1) | 2024.02.07 |