gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 17:40:40 34 4
gpt4 key购买 nike

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

谢谢

最佳答案

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

1.首先,将骰子放在您想要的位置,并且您想要的结果面朝上(+y轴) .

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

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

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

提示:

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

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

C。使用 RigidBody 执行此操作这样,当将骰子扔到表面上时,它看起来尤其逼真。 RigidBody 变得很复杂但可以做到。

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

关于c# - Unity3d 创建具有预定结果的骰子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42056064/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com