首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CineMachine相机的抖动破坏了2d视差效应

CineMachine相机的抖动破坏了2d视差效应
EN

Stack Overflow用户
提问于 2022-06-21 13:17:51
回答 1查看 355关注 0票数 0

我在一个2d的平台游戏中工作,我使用了电影摄像机和视差脚本来给出一个很好的效果,但是视差在剧烈的震动和震动,我发现那是因为摄像机晃动的原因,当我禁用它的时候,它工作的很顺利。

这是视差码

代码语言:javascript
复制
    private float startpos;
private GameObject cam;
[SerializeField] private float parallax;
[SerializeField] private float speed = 0.1f;

// Start is called before the first frame update
void Start()
{
    cam = GameObject.Find("Main Camera");
    startpos = transform.position.x;
}

// Update is called once per frame
void Update()
{
    float distance = (cam.transform.position.x * parallax);
    transform.position = new Vector3(startpos + distance, transform.position.y, transform.position.z);
}

以及MC vcam1 在这里输入图像描述的设置。

请给我任何帮助,我在那个问题上找不到任何帮助

EN

回答 1

Stack Overflow用户

发布于 2022-06-21 13:39:05

为了避免任何类型的抖动,在distance中使用各种SmoothDamp函数,例如https://docs.unity3d.com/ScriptReference/Vector3.SmoothDamp.html

代码语言:javascript
复制
public float smoothTime = 0.3f; // adjust this to taste
private float distance;
private Vector3 velocity = Vector3.zero;
private Vector3 targetPos

void Update()
{
    distance = cam.transform.position.x * parallax;
    targetPos = new Vector3(startpos + distance, transform.position.y, transform.position.z)
    transform.position = Vector3.SmoothDamp(transform.position, targetPos, ref velocity, smoothTime);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72701506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档