我在场景中创建了一个简单的关卡 .

现在我想从右到左滚动这个级别,但是移动构成级别的对象开始抖动 .

我尝试了以下方法来移动关卡 . 有些人开始在团结播放器中完美地工作但是在iOS模拟器中没有一个能够顺利运行: -

案例a)在层次结构中创建的平铺 Map 没有附加任何刚体 .

a.1]通过直接改变位置而移动:

transform.position -= scrollLeftBy * Time.deltaTime; - >很多混蛋

a.2]移动使用:

transform.Translate(newVector3(m_Velocity*Time.deltaTime,0,0)); - >在团结播放器中没有混蛋,但在iOS模拟器中仍然是混蛋 .

案例b)在图层中添加了刚体 isKinemtic=true . Velocity iteration = 8Position iteration = 3

b.1]在FixedUpdate / Update中,使用velocity移动,

transform.rigidbody2D.velocity = m_Velocity; : - > Unity Player中的混蛋,以及iOS Sim

b.2]在FixedUpdate / Update中,移动使用,

transform.rigidbody2D.transform.position -= scrollLeftBy; : - >在Unity Player中没有混蛋但在iOS Sim中没有混蛋 .

创建的级别具有以下层次结构: -

TileMap-> Layer0-> Chunk(包含许多图块并将它们全部渲染为单个网格 . )

我将rigidbody2D和滚动脚本附加到此块 .

我可能会失踪什么?

编辑:

  • 请在设备上找到视频here . 运行

  • 也在设备上试过,它仍然紧张不安 .

  • 我也试过Interpolate,Extrapolate和None,用于Interpolate选项,但仍然紧张!