Unity3d创建具有预定结果的骰子

jas*_*son 2 c# unity-game-engine unityscript unity5

我有一个预制件(骰子).由于我的游戏是多人游戏,因此我会在玩家实际滚动之前生成掷骰子的结果.然后我将该值发送给游戏.我想取这个值并创建一个模具滚动,结果是预定值.最好的方法是什么?我想这是一个动画(每个结果1)但我不知道从哪里开始.我已经找到了关于创建骰子动画的教程但却找不到任何东西.或者,这可以在代码中完成吗?如果是这样,方向上的任何指针都会很棒.

谢谢

Pro*_*mer 5

我做过类似的事情,但它很棘手,有点复杂.以下是我用来完成此任务的步骤.

1.首先,将骰子放在您想要的面部上,然后将要面对的面部朝上(+ y轴).

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

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

4.最后,当玩家想要掷骰子时,只需编写一个播放功能,Lists通过从中分配位置/旋转List并根据时间差切换到下一个索引来播放位置List.

小贴士:

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

B.当做#1#2时,你可以移动禁用,MeshRenderer这样玩家就无法看到发生了什么.

C.这样RigidBody做,以便在将骰子扔到表面上时看起来很逼真.它变得复杂RigidBody但可以完成.

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