unity2D:视觉差Parallex
·
注:该文为学习笔记,具体请看b站upMichael-Studio的unity教程2D入门
环境:unity2020.3
什么是视觉差?
有点像做动漫的时候,中前后景的移动速度和方向不同,这样出来的二维画面就有三维立体感
举个生活中的例子,你坐车走在高速上,距离你近的树飞快的向后退去,但是远处的山却移动的很慢,这样就是视觉差
其原理就是不同层的物体跟随相机移动的比率是不同的,比如后景可能就比较跟相机,而中前景就不怎么跟相机(就是小时候月亮跟着人走的错觉)
我们可以先写成一个通用的脚本,那些物体需要参与视觉差的形成,就挂上,调整不同的比率即可
public class Parallex : MonoBehaviour
{
public Transform Cam;//相机坐标
public float moveRate;//跟随幅度
private float StartPositionX,StartPositionY;//一开始物体的坐标
public bool LockY;//是否锁定Y轴的跟随
void Start()
{
StartPositionX=transform.position.x;
StartPositionY=transform.position.y;
}
void Update()
{
if(lockY)
transform.position=new Vector2(StartPositionX+Cam.position.x*moveRate,transform.position.y);
else
transform.position=new Vector2(StartPositionX+Cam.position.x*moveRate,StartPositionY+Cam.position.y*moveRate);
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)