[Unity] 테레인을 반복하여 무한히 뻗은 바닥을 만든다
4579 단어 Unity
따라서 두 개의 지면을 반복적으로 보여줌으로써 지면을 무한히 뻗어 보려고 한다.
지상의 준비
바닥과 태그가 있는 큐브를 먼저 만듭니다.
GameObject > Create Other > Terrain
바닥을 추가합니다.취향에 따라 텍스쳐를 적당히 붙여주세요.
GameObject > Create Other > Cube
에 태그가 추가된 Cube입니다.
Cube의 설정은 Terrain의 한가운데에 있습니다.
Terrain을 시작하려면 먼저 다음 스크립트를 Terrain에 첨부하십시오.
MoveTerrain.cs
using UnityEngine;
using System.Collections;
public class MoveTerrain : MonoBehaviour {
public float speed;
// Update is called once per frame
void Update () {
transform.Translate (0, 0, speed);
}
}
Cube를 Terrain 아래로 드래그하여 Terrain과 연결합니다.그리고 그 테라인은 재활용이 용이하도록 미리 전경화했다.
지면 배치
사전 제작 후 원래 Terrain 제거
설치할 Terrain 프리셋 2개를 드래그합니다.
좌표는 (0, 0, 0) 및 (0, 02000)를 눌러 z 방향으로 2개를 배열합니다.
MainCamera의 위치(10000,30,0) 근처에 놓고 실행해 보세요.
두 개의 땅이 굴러와서 두 번째 땅이 지나면 끝난다.
중복 처리의 실현
첫 번째 테라인은 화면을 지나자마자 두 번째 화면의 깊은 곳으로 빠르게 이동했다
이런 처리를 반복하면 지면이 무한히 중복된다.
이전 스크립트를 (으)로 수정합니다.
MoveTerrain.cs
public class MoveTerrain : MonoBehaviour {
public float speed;
float size = 2000; //NOTE!
// Update is called once per frame
void Update () {
transform.Translate (0, 0, speed);
if (this.transform.position.z + size < 0) {
Debug.Log("out of display");
this.transform.Translate(0, 0, size * 2);
}
}
}
주)float size = 2000;
스크립트를 통해terain의 크기를 얻을 수 있습니까?누가 나에게 알려줄 수 있습니까>>실행 후 지면은 무한히 중복될 것이다.
Reference
이 문제에 관하여([Unity] 테레인을 반복하여 무한히 뻗은 바닥을 만든다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takahi5/items/14967dad3494eb9edee7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)