我在场景中创建了一个简单的关卡 .
现在我想从右到左滚动这个级别,但是移动构成级别的对象开始抖动 .
我尝试了以下方法来移动关卡 . 有些人开始在团结播放器中完美地工作但是在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 = 8
和 Position 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选项,但仍然紧张!