注:该文为学习笔记,具体请看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);
    }
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐