Unity实现简单场景分层移动
程序员文章站
2022-03-16 20:43:54
本文实例为大家分享了unity实现简单场景分层移动的具体代码,供大家参考,具体内容如下前言开发游戏经常需要用到把前景、场景、背景等不同层级的物体进行不同速度的移动以实现真实感。效果云、建筑、地面、前景...
本文实例为大家分享了unity实现简单场景分层移动的具体代码,供大家参考,具体内容如下
前言
开发游戏经常需要用到把前景、场景、背景等不同层级的物体进行不同速度的移动以实现真实感。
效果
云、建筑、地面、前景植被各层次场景分层移动。
代码
using unityengine; public class distantview : monobehaviour { public gameobject follow; public float scaleoffset; public bool ishorizontal = true; public bool isvertical = true; vector2 pos; vector2 followpos; float offsetx; float offsety; private void start() { if (follow != null) followpos = follow.transform.localposition; } void lateupdate() { if (follow!=null) { pos = transform.localposition; if (ishorizontal) { offsetx = (follow.transform.localposition.x - followpos.x) * scaleoffset; pos.x += offsetx; } if (isvertical) { pos.y += offsety; offsety = (follow.transform.localposition.y - followpos.y) * scaleoffset; } transform.localposition = pos; followpos = follow.transform.localposition; } } }
用法
将不同层级的物体放入不同的父物体下分别管理。
给每个父物体挂上脚本。
follow为跟随的基准对象。(比如玩家,相机等)
scaleoffset为移动速率,1为和目标移速一致,越小越慢,越大越快。0为不移动,负值为反向移动。(前景可能要用到负值)
hor和ver为跟随哪个轴。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。