当前位置:   article > 正文

Unity学习笔记--无限地图(地图拼接)_unity 无限平面

unity 无限平面

Unity学习笔记–无限地图
在很多简单的单机跑酷或者赛车游戏中,不需要建立一个很大的地图,可以使用小地图拼接的方式实现无限地图的功能。
具体思想是:玩家处于地图中的某个位置,当快要走出边界时,地图在人物的前方再次生成一个进行拼接,看起来地图是永远跑不完的样子。
unity里面用两个Plane与一个cube做介绍:

在这里插入图片描述
默认的Plane的尺寸为10x10m,两个Plane要在一个目标下;
用Cube代替玩家,沿Z方向拖动cube时,plane会跟随交替生成;

话不多说,上代码:

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

public class AddPlane : MonoBehaviour
{

    const float width = 10f;//这里是平面的宽度
    public Transform player;
    Vector3 initPos;
    void Start()
    {
          initPos = transform.position;
    }

        void Update()
    {
        float totalWidth = width*2f;// * backGroundNum;
        float distZ = player.position.z - initPos.z;//实时计算玩家与插入点的距理
        int n = Mathf.RoundToInt(distZ / totalWidth);//四舍五入一下 

        var pos = initPos;   
        pos.z += n * totalWidth;
        transform.position = pos;
    }
}
  • 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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/97948
推荐阅读
相关标签
  

闽ICP备14008679号