【问题标题】:how to rolling a ball be GetAxis with Hoerizontal and Vertical in Unity5.3如何在 Unity 5.3 中滚动球是 GetAxis 与水平和垂直
【发布时间】:2016-03-03 03:02:28
【问题描述】:

我从基础开始,并在 Unity 网站和 youtube 频道上关注 Unity 官方教程。 我想用轴 x,y,z 在平面上滚动一个球但是如下代码我的球只转移到 -y 它不会在舞台上移动它只是沿着 Y 轴 (-42.83892) 掉下来。

这是代码

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour {

    private Rigidbody rb;
    public float speed;

    void Start() {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate() {

        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");
        Vector3 movement = new Vector3(moveHorizontal, 0.1f, moveVertical);
        rb.AddForce(movement*speed);


    }
}

这是我的地面选项

这是播放器的选项

【问题讨论】:

  • 你的飞机有对撞机吗?
  • 网格对撞机对吗?我已经添加了
  • 请录制行为视频,使用screentogif.codeplex.com,我用过in the past for questions。创建一个 GIF,然后将其上传到 giphy.com 并将其插入到您的问题中。

标签: c# unity3d


【解决方案1】:

更新:哦,我明白你的问题了。

Vector3 movement = new Vector3(moveHorizontal, 0.1f, moveVertical);

您每帧都在球上添加 0.1 的垂直力。不要那样做,只要将 middle 属性保持为 0,否则它会使你的球飞起来,因为它会不断给球施加越来越大的力。


你让你的球对撞机有一个“触发对撞机”,这意味着它不会“撞击”其他物体,而是只会穿过它。确保取消选中播放器和游戏场上的“是触发器”框。


它应该是这样的:

玩家:

地面:

【讨论】:

  • 您是否在 PlayerGround 上都未选中 IsTrigger?我已经用我的项目副本的屏幕截图更新了我的答案。
  • @HengSopheak 看到我的更新,你的代码也有错误。
  • 不,我继续使用 Unchecked Is trigger 我知道这一点并检查了 Gravity。这是代码 Vector3 运动 = new Vector3(moveHorizo​​ntal, 0.0f, moveVertical);永远不会工作。
  • 这正是我在我的机器上使用它的方式,并且工作正常。请为您看到的错误行为制作 GIF 或 YouTube 视频剪辑,因为我不明白出了什么问题,您解释得不够清楚。
  • 我已经上传到 youtube 请查看此链接youtube.com/watch?v=cEEKcv3N6Ys
【解决方案2】:

似乎您还没有将刚体组件附加到您的球体上。添加它并取消选中“使用重力”复选框。

正如 Scott 在下面提到的,您必须取消选中“Is trigger”。通过选中两者都是 Trigger,“use Gravity”会导致您面临的问题

但是以后你需要用到它。

显然你的 Inspector 必须是这样的

最好关注Roll a Ball上的Unity官方教程

编辑:您必须取消选中 IS TRIGGER 框,并选中 USE GRAVITY 框。如果你同时检查它会掉下来

【讨论】:

  • 我已经附加并一次又一次地检查和取消检查,但它仍然不起作用\
  • 如果我取消选中使用重力,它将不再滚动
  • @HengSopheak 我知道你在尝试什么,因为我也试过那个教程,你必须取消选中是触发器,然后检查使用重力。如果你同时检查它倒下,如果你不检查它只是不受控制地运行
  • 我已经用所有播放器和地面选项更新了我的问题,我已经尝试了 5 次以上检查和取消检查。但还是一样,如果不跌倒它会上升。不如教程展示的好
  • OHHHH,我刚刚发现了他的问题......这根本不是触发器(嗯,这是他的问题之一)。这就是他在更新中增加力量的方式。
猜你喜欢
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 2015-05-31
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多