[초보자를 향해] 캐릭터의 움직임에 맞춰서 카메라가 따라가도록 하겠습니다.

5514 단어 Unity
16일째는 신인 JB가 맡는다.
시간이 참 빠르네요. 12월도 보름이나 지났어요.
현충이라 불리는 사람들은 다음 휴일에 연인에게 크리스마스 선물을 사러 가야 한다.
현충 폭발하자!!
아, 하마터면 실언할 뻔했어.(미끄러졌다)

이번에 할 일


지난번에 캐릭터를 점프해 봤어요.
내가 부주의로 너에게 점프할 위치를 주는 것을 잊어버렸어. 미안해.
지난번에도 그랬는데 유닛 초보자라서 초보자의 시각으로 썼어요.
이번에는 캐릭터의 움직임에 맞춰 카메라를 따라가고 싶어요.
카메라를 따라가기 위해서는 캐릭터 이동이 필요하다는 점도 설명해야 한다.

캐릭터를 돌려보도록 하겠습니다.


우선 캐릭터를 움직여 보자.
Charamove.cs
Rigidbody2D rb;

[SerializeField]
int moveSpeed = 5;

void Start()
{
   rb = GetComponent<Rigidbody2D>();
}

void Update()
{
   rb.velocity = new Vector2(moveSpeed, rb.velocity.y);
}
이 스크립트를 로봇 군에게 추가하면 로봇이 자동으로 작동합니다!rb.velocity = new Vector2(moveSpeed, rb.velocity.y);이 문장은 본래rb.velocity = new Vector2(rb.velocity.x, rb.velocity.y);.
x 좌표에 moveSpeed를 넣었기 때문에 x 좌표의 정방향으로 전진합니다.
이동속도는 로봇군에 추가되면 인스펙터에 무브스피드 항목이 있어 거기를 만지면 바뀐다.

카메라를 따라해보세요.


나는 즉시 배역에 맞추어 카메라를 쫓고 싶다.
TrackingCamera.cs
using UnityEngine;
using System.Collections;

public class TrackingCamera : MonoBehaviour
{

  [SerializeField]
  GameObject player;

  void Start()
  {

  }

  void Update()
  {
     transform.position = new Vector3(player.transform.position.x + 9, 0, -2);
  }
저는 처음에 게임Object?player?그게 뭐야!?유저에게 이걸 추가하시겠습니까!?카메라에 추가해야 되나!?이것저것 잘 모르겠다.
하지만, 괜찮아!이 스크립트를 카메라에 추가합니다.
카메라에 Inspector 보기

Player 항목.네!아까 게임 Object의 플레이어죠!
여기, 처음에는 아무것도 없었는데 (내 생각에는 None이 된 것 같아) 오른쪽 흰 동그라미를 찰칵찰칵 눌러봐.

이런 화면이 나올 것 같아서요.
Scene에 추가된 객체가 Scene 항목에 나타나므로 카메라를 따라가려는 역할 이름을 두 번 클릭하여 Player에 추가합니다.로봇군은'로보트 보이 런00'이니까 그걸 선택했어요.
그럼, 이걸로 한번 돌려봐!
어?카메라 위치가 이상해!그렇게 생각하는 사람도 있겠지.
실제로 위의 스크립트는 로봇군이 화면 왼쪽으로 오는 것으로 설정되어 있다.
말로 설명해도 이해하기 어려우니 전선과 스크레이퍼를 붙여 비교하고 싶다.
먼저transform.position = new Vector3(player.transform.position.x + 9, 0, -2);이 말은 위의 각본과 같다.시운전을 해 보다.

이렇게 하면 로봇군이 화면 안의 왼쪽에 있다는 것을 알 수 있다.
다음transform.position = new Vector3(player.transform.position.x, 0, -2);이 글에 무슨 변화가 있으면의 + 9.이렇게 실행해 보세요.

나는 로봇이 중앙에 있다는 것을 안다.
잃어버리다만약 단지 이렇다면 유저를 중심으로 상영되기 때문에 카메라의 위치가 매우 이상하다!안 그럴 것 같아서요.
그럼 4player.transform.position.x + 9그냥 실행해 보세요.
이렇게 되면 캐릭터를 카메라에 수납할 수 있을 것 같아요. 카메라도 따라가겠죠.
※ 로봇 군 = 캐릭터 = 플레이어.

총결산


내가 아직 프로그래밍에 대한 지식이 부족할 때(지금도 대략) 인터넷에서 자료를 찾을 때 참고할 수 있는 코드를 찾더라도 코드의 내용을 이해하지 못할 때가 많다.이렇게 하면 복사하고 붙이는 게 끝이고 이렇게 잘못 쓰는 경우도 있는데 지식으로는 배울 수 없다고 생각해요.
나 같은 경험이 다른 곳에서 조금이라도 이해가 됐으면 좋겠다.
아직 쓰기에 익숙하지 않아서 설명을 잘 못 쓰는 곳이 많은데 조금이라도 도움이 된다면 기쁠 것 같아요.
그러면 이번 캐릭터는 자동으로 움직이고 카메라도 따라가지만 땅이 충분하지 않으면 재미없어요!손으로 추가할 수 있지만 그러면 귀찮아요.
나는 다음에 지면의 자동 생성을 쓰고 싶다.

좋은 웹페이지 즐겨찾기