Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 언성스토리
- 이브
- 오브젝트이동
- 점상
- 천체사진
- 번역
- This is EVE
- 포크스푼
- 드론
- 라즈베리파이
- 미니적도의
- 미타니
- 자율비행
- centos
- coroutine
- 데포르메
- UI
- DX라이브러리
- C언어
- 킥스타터
- 이브온라인
- 게임제작
- 유루캠
- 온라인
- 오픈스택
- 스카이트래커
- inputsystem
- 유니티
- 리눅스
- 이브뉴스24
Archives
- Today
- Total
게임개발 예제모음
인풋시스템을 통한 오브젝트 이동 (ActionMap) 본문
○ 오브젝트에 Player Input 컴포넌트 추가
○ Action에서 액션맵편집 (확인) 필요
○ 트랜스폼이 아닌 리지드바디 이용시에는 Update가 아닌 FixedUpdate에서 동작하도록 작성
○ OnMove함수는 액션맵편집의 카테고리 이름 앞에 On을 추가하면 OK
ex) 방향키 이동을 바인딩한 액션맵카테고리 이름이 MyMove라면 onMyMove함수가 됨
※ 인스펙터에서 메소드 이름 확인 가능
using UnityEngine;
using UnityEngine.InputSystem;
public class ExampleClass : MonoBehaviour
{
float moveSpeed = 1f;
//이동속도 변수
Transform myTransform;
//트랜스폼 컴포넌트 캐싱을 위한 변수
Vector2 myMoveVector;
//오브젝트의 이동 벡터 변수
//인풋시스템의 방향키의 경우 Vector2값을 갖는다
void Start()
{
myTransform = GetComponent<Transform>();
}
void Update()
{
Vector2 myNextVector = myMoveVector * moveSpeed * Time.deltaTime;
//오브젝트의 이동벡터에 속도를 곱하여 이동거리를 구한다
myTransform.Translate(myNextVector);
//해동 이동거리만큼 오브젝트 이동
}
void OnMove(InputValue value) //인풋시스템에서 받은 값을 vector2타입으로 변환
{
myMoveVector = value.Get<Vector2>();
}
}
'유니티 메모장' 카테고리의 다른 글
이동방향에 따른 스프라이트 애니메이션 전환 (with InputSystem) (0) | 2025.06.03 |
---|---|
InputSystem (RigidBody) 이동 예제 (0) | 2025.06.03 |
키입력(InputAction) 직렬화 및 오브젝트 이동 (0) | 2025.06.03 |
Light컴포넌트 불빛 깜빡이기 (0) | 2025.06.03 |
Sin함수를 이용한 반복운동 (0) | 2025.06.03 |