首先是2D游戏。我做了一个旋转水磨。当我把角色放在最上面时。角色不会像预期的那样旋转。它不能与水磨机一起旋转并试图保存其位置。我该如何解决?
我试图添加物理材料和一些效应器。
////Thats movement code
void FixedUpdate()
{
if( (Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.UpArrow)) && OnPlatform )
{
OnPlatform = false;
rb.velocity = Vector2.up * JumpForce;
}
float move = Input.GetAxisRaw("Horizontal") * MovementSpeed;
if( canWalk && move != 0 )
{
rb.velocity = new Vector2(move,rb.velocity.y);
}
}
我希望我的旋转表面和播放器像现实世界一样旋转法线。
答案 0 :(得分:0)
一种解决方案是让玩家站在水磨坊上时成为水磨坊的子对象。但是当他站在上面时,不再是它的孩子对象。
子对象受其父对象的旋转,缩放和位置影响。这样会旋转播放器。
只需在播放器上使用transform.SetParent(watermillTransform)方法即可。当他不需要父母时,将其设置为null。