【问题标题】:Unity3d Create dice roll with predetermined resultUnity3d创建具有预定结果的骰子
【发布时间】:2017-02-05 19:08:36
【问题描述】:

我有一个预制件,它是一个骰子(骰子)。由于我的游戏是多人游戏,因此我会在玩家实际掷骰之前生成掷骰结果。然后我将该值发送到游戏中。我想采用该值并创建一个掷骰子,结果是预定值。解决此问题的最佳方法是什么?我想过把它作为一个动画来做(每个结果 1 个),但我不知道从哪里开始。我一直在寻找有关创建骰子动画的教程,但找不到任何东西。或者,这可以在代码中完成吗?如果是这样,任何关于方向的指针都会很棒。

谢谢

【问题讨论】:

    标签: c# unity3d unity5 unityscript


    【解决方案1】:

    我做过类似的事情,但它很棘手而且有点复杂。以下是我用来完成此操作的步骤。

    1.首先,将骰子放在你想要的位置,让你想要的面朝上(+y轴) .

    2.将它向后移动到您要掷骰子的位置。 在移动它时,为其添加一点旋转以使其看起来更逼真。

    3。现在,在移动它的同时,编写另一个脚本,在List 中记录/存储骰子的位置/旋转+时间差。位置/旋转和时差可以放在一个简单的struct中,然后保存在一个List中。

    4.最后,当玩家想要掷骰子时,只需编写一个播放函数,通过从List 分配位置/旋转并切换到下一个索引基于List中的时差。

    提示

    A。在游戏加载时执行此操作,并针对骰子的每一面执行此操作,并将List 存储在一个数组中。然后,您可以使用随机数选择骰子面并播放存储的变换。

    B。在执行#1#2时,您可以移动禁用MeshRenderer,这样玩家就看不到发生了什么.

    C。使用RigidBody 执行此操作,以便在将骰子扔到表面时看起来更逼真。 RigidBody 会变得复杂,但可以做到。

    D。您可以通过从 # 的位置/旋转列表创建动画来替换 #3#4 动画1#2 在运行时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 2021-04-06
      • 2021-08-17
      • 2019-05-19
      • 2021-01-23
      • 1970-01-01
      相关资源
      最近更新 更多