Unity3d 创建具有预定结果的骰子
Unity3d Create dice roll with predetermined result
我有一个预制件,它是一个骰子(dice)。由于我的游戏是多人游戏,因此我会在玩家实际掷骰子之前生成掷骰子的结果。然后我将该值发送给游戏。我想采用该值并创建一个骰子,结果是预定值。最好的方法是什么?我考虑过将此作为动画(每个结果 1 个)但我不知道从哪里开始。我一直在寻找有关创建骰子动画的教程,但找不到任何东西。或者,这可以用代码完成吗?如果是这样,任何关于方向的指示都会很棒。
谢谢
我做过类似的事情,但它很棘手而且有点复杂。这是我用来完成此操作的步骤。
1.首先,将骰子放在你想要的位置,你想要的结果面朝上(+y-axis).
2.将它向后移动到你想掷骰子的位置。
在移动它的同时,为其添加一点旋转,使其看起来更逼真。
3.现在,在移动它的同时,编写另一个脚本,records/stores position/rotation + [=10= 中骰子的时间差]. position/rotation和时间差可以简单的放一个struct
然后保存在List
.
4。最后,当玩家想要掷骰子时,只需编写一个播放函数,通过分配 positions/rotation 从 List
开始,根据 List
.
的时间差切换到下一个索引
提示:
A。在游戏加载时执行此操作,并为骰子的 每个 面执行此操作并存储 List
在一个数组中。然后,您可以使用随机数 select 骰子面并播放存储的变换。
B。当执行#1和#2时,您可以移动禁用MeshRenderer
这样玩家就看不到发生了什么。
C。用 RigidBody
做这个,这样看起来特别逼真,当把骰子扔在一个表面上时。 RigidBody
变得复杂,但可以完成。
D。可以通过创建动画来替换#3和#4来自 #1 和 #2 的 position/rotation 列表 run-time.
我有一个预制件,它是一个骰子(dice)。由于我的游戏是多人游戏,因此我会在玩家实际掷骰子之前生成掷骰子的结果。然后我将该值发送给游戏。我想采用该值并创建一个骰子,结果是预定值。最好的方法是什么?我考虑过将此作为动画(每个结果 1 个)但我不知道从哪里开始。我一直在寻找有关创建骰子动画的教程,但找不到任何东西。或者,这可以用代码完成吗?如果是这样,任何关于方向的指示都会很棒。
谢谢
我做过类似的事情,但它很棘手而且有点复杂。这是我用来完成此操作的步骤。
1.首先,将骰子放在你想要的位置,你想要的结果面朝上(+y-axis).
2.将它向后移动到你想掷骰子的位置。 在移动它的同时,为其添加一点旋转,使其看起来更逼真。
3.现在,在移动它的同时,编写另一个脚本,records/stores position/rotation + [=10= 中骰子的时间差]. position/rotation和时间差可以简单的放一个struct
然后保存在List
.
4。最后,当玩家想要掷骰子时,只需编写一个播放函数,通过分配 positions/rotation 从 List
开始,根据 List
.
提示:
A。在游戏加载时执行此操作,并为骰子的 每个 面执行此操作并存储 List
在一个数组中。然后,您可以使用随机数 select 骰子面并播放存储的变换。
B。当执行#1和#2时,您可以移动禁用MeshRenderer
这样玩家就看不到发生了什么。
C。用 RigidBody
做这个,这样看起来特别逼真,当把骰子扔在一个表面上时。 RigidBody
变得复杂,但可以完成。
D。可以通过创建动画来替换#3和#4来自 #1 和 #2 的 position/rotation 列表 run-time.