赞
踩
本文目的是为了给笔者自己记录笔记,便于笔者翻阅复制,如果能帮助到大家也是一件很好的事情。
提示:以下是本篇文章正文内容,下面案例可供参考
首先图片是首尾拼接的,其次,需要创建总长度大于屏幕长度(竖方向的话就是屏幕高度),最后,自己定义好图片重置的终点以及起点。
下图为笔者实例:
1、屏幕像素高度尺寸为27.32(设置摄像机的Orthographic size的尺寸为13.66),图片素材尺寸为27.32,因此图片放入摄像机时刚好铺满,因此三张图片的位置分别为0,-27.32,-54.64。
2、设置顶点终点为27.32,设置起始点为-54.64。
截图如下(截图所示是三张竖直图片):
using System.Collections; using System.Collections.Generic; using UnityEngine; public class WallMovementScript : MonoBehaviour { public Transform Top; //顶点位置 public Transform Buttom; //起始位置 public float Speed; //墙壁移动速度 // Start is called before the first frame update void Start() { } // Update is called once per frame void FixedUpdate() { WallMove(); } void WallMove() { Speed = UiManager.Instance.GameSpeed; //GameSpeed是游戏控制速度,Speed可根据自己需求初始化 if(transform.position.y<= Top.position.y) { transform.Translate(Vector3.up * Time.deltaTime * Speed); } else { //重点:这里做多一次移动是实现地面无缝拼接的主要地方。 //如果这里不往前进方向移动,而其他两张图片往前进方向移动,就会造成断层。 //而先同时移动一帧,然后计算图片超出的位置,然后复位的时候加上这个差值就可以实现完美拼接了。 transform.Translate(Vector3.up * Time.deltaTime * Speed); float Distance = transform.position.y - Top.position.y; transform.position = new Vector3(transform.position.x, Buttom.transform.position.y + Distance, transform.position.z); } } }
以上就是本文记录的关于Unity无限路的使用方法了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。