EasyCastleUNITY

길건너 친구들 모작 개발일지5 (뗏목 만들기 및 뗏목 탑승) 본문

3D 프로젝트 개발 일지(Crossy Road, 한글명: 길건너 친구들)

길건너 친구들 모작 개발일지5 (뗏목 만들기 및 뗏목 탑승)

EasyCastleT 2023. 9. 27. 18:16

길건너 친구들에는 다른 땅들과는 다른 이동하는 뗏목이 있습니다. 

이 뗏목은 플레이어가 탑승하면 플레이어와 같이 이동합니다. 

플레이어와 뗏목이 같이 이동하는 모습

뗏목 만들기

일단, 뗏목 리소스가 없기에 유니티를 통해 만들었습니다. 

레퍼런스 이미지를 촬영하고, 

사용한 레퍼런스 이미지

그리고 여기서 필요한 색 마테리얼을 추출하여 만들었습니다. 

추출한 색 마테리얼들

그리고 큐브를 이용하여 뗏목 구조를 만들고, 색을 입혔습니다. 

만든 뗏목

뗏목 탑승

일단 뗏목이 움직이도록 만들어주었습니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RaftMove : MonoBehaviour
{
    [SerializeField] private float moveSpeed;
    private Vector3 startPos;
    // Start is called before the first frame update
    void Start()
    {
        this.startPos = transform.position;
    }

    // Update is called once per frame
    void Update()
    {
        this.transform.Translate(Vector3.forward * Time.deltaTime * this.moveSpeed);
        this.SelfComeback();
    }

    //테스트
    private void SelfComeback()
    {
        if (this.transform.position.x > 18f)
        {
            this.transform.position = this.startPos;
        }
    }

    //private void OnTriggerEnter(Collider other)
    //{
    //    if (other.CompareTag("Player"))
    //    {

    //    }
    //}

}

그리고 같이 뗏목과 플레이어가 같이 움직여야 하므로, 뗏목과 플레이어가 충돌하면, 

플레이어를 뗏목의 자식으로 만들어주었습니다. 

Player 스크립트 일부

그리고 벗어나면, 부모관계가 해제되어야 되기에, OnTriggerExit를 사용하여

부모관계를 해제시키고, 플레이어의 좌표는 항상 정수가 되도록 하기 위해, 

뗏목과 같이 움직이면서, 정수가 아니게 된 x좌표를 캐스팅하여 정수로 바꾸어줍니다. 

 

이렇게 탑승 기능 구현이 완료되었습니다. 

탑승 기능 시연동영상