[LayaAir 2.0]摄像机跟随刚体移动,刚体出现抖动。

123.gif

在一块plane上放一个小球lh模型,为小球绑定一个刚体,设置小球的线速度,在小球的脚本的onUpdate里不断获取小球MeshSprite3D坐标,为摄像机设置坐标,现在问题是摄像机跟随小球运动的同时,小球出现抖动问题。
 
有尝试过尝试插值但是还是会抖动,并且线速度设置越大,抖动越厉害。
 
已邀请:

Aar0n

赞同来自: 啊波_

这个不是bug,这是小球用的物理更新位置,而相机根据update更新位置, 二者不同步,
可以给小球和相机绑定在一起,或者小球和相机都用update,总之二者的更新坐标机制一定要同步

东风。胡!

赞同来自: envliwobo

9CA987C9-59D5-47CB-987F-E691BBE4B0B0.png

这个地方是全局同步更新视图的地方吧,为什么不能官方抛出个事件来做监听呢。。。
试了一下自己手撸一个发布订阅在这里做同步更新就好了
 

啊波_

赞同来自:

就是不同步引起的。

一曲折扇情

赞同来自:

大佬,这个问题解决了吗?

奈若何

赞同来自:

可以试一下 用二楼的在全局里更新位置,再设置刚体的这两个属性。
rigibody.angularFactor = new Laya.Vector3(0, 0, 0)
rigibody.linearFactor = new Laya.Vector3(0, 1, 0)

Aimumu

赞同来自:

// 下面代码放到update里面执行,就可以解决相机抖动问题了
let targetPos = new Laya.Vector3(posCpt.posX, curPos.y, posCpt.posZ)// 目标位置
let out = new Laya.Vector3(0, 0, 0) // 插值后的位置
let followSpeed = 10 // 跟随速度
Laya.Vector3.lerp(showNode.transform.position, targetPos, es.Time.deltaTime * 0.001 * followSpeed, out) // 插
showNode.transform.position = out

要回复问题请先

商务合作
商务合作