일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- object
- toString
- 출처 : https://joshua1988.github.io/web-development/javascript/promise-for-beginners/
- 출처 : https://webdir.tistory.com/506
- http://jeonghwan-kim.github.io/dev/2019/06/25/react-ts.html
- 게시판
- https://velog.io/@velopert/create-typescript-react-component
- Today
- Total
Back Ground
Unity - Vector3 Class를 사용하여 이동 본문
해당 글은 비개발자도 볼 수 있기 때문에 최대한 이해하기 쉽게 쓰려고 노력하여 작성했다.
Object 이동
움직일 대상을 만들어준다.
- 테스트용으로 큐브하나를 만들어주었다.
큐브를 이동시키기 위해 PlayerMove 라고 대강 이름을 짓고 스크립트를 추가하였다. (해당 큐브 오브젝트에 Script를 추가하였음)
물체 이동 공식
P(position) = P0(Position 0) + vt (Velocity와 Time) 뜻 : 변경 위치 = 현재위치 + 속도 * 시간 |
이 공식대로 움직여 볼 생각이다.
계속 물체를 이동시켜야 하기 때문에
LifeCycle의 Update함수에 해당 큐브의 transform의 position값을 변경해 준다.
1
2
3
|
void Update() {
transform.position = transform.position + Vector3.right * 5 * Time.deltaTime;
}
|
[ 큐브의 위치 = 큐브의 위치 + 백터(오른쪽)(1,00) * 5 * Time.deltaTime(게임 프레임 시간); ]
[이동 공식대로 하자면 이렇게 표현] 그런데 Velocity(속도)는 왜 Vector까지 묶어놨는가? [Vector란 backback.tistory.com/420] 벡터에는 방향을 갖고 있기 때문에 속도와 함께 계산 (즉, 방향없는 속도가 존재 할수 없기 때문) |
자세히 코드 설명하자면
큐브의 위치 값은 transform.position이 가지고있다.
- Transform : 게임오브젝트의 위치, 회전 그리고 스케일(scale)을 나타냄.
- transform.position :월드 공간에서 트랜스폼의 위치.
[Tip] |
- Vector3.right : Object의 방향 지정한다.
[Vector란 backback.tistory.com/420]
- Time : Time Class는 유니티로 부터 시간 정보를 받을때 사용되는 인터페이스
- Time.deltaTime : 화면(프레임)을 한번 주사하는데 걸리는 시간
[deltaTime이란 backback.tistory.com/421]
참고 문서 : docs.unity3d.com/kr/530/ScriptReference/Time.html
방향키 이용하여 [상하좌우]이동 방법
'Unity > Unity Engine' 카테고리의 다른 글
Unity - deltaTime이란 (0) | 2021.05.05 |
---|---|
Unity - Vector란 (0) | 2021.05.05 |
[MonoBehaviour] LifeCycle (0) | 2021.03.20 |
[Sprite] Filter Mode (0) | 2021.03.19 |
[Sprite] Pixels Per Unit (PPU) (0) | 2021.03.19 |