Unity3D 碰撞组合
Unity3D Collision combinations
我正在制作一个游戏,您可以使用 void OnMouseDrag 来形成带有原子的分子(球体游戏对象)。刚刚制作了一个快速动画来向您展示我真正想要的东西:https://gyazo.com/334e0099af0cc2f16a14e356befe2110。谁能帮我这个?我怎么能这样做?我是C#新手,当然是来学习的。
顺序重要吗? (我假设不是)我会这样开始:
1) 每个原子都有一个唯一的编号 ID : 1, 2, 3 2)
2) 每个分子都有一个唯一的ID,这个ID是用atoms ID正确制作的
已排序(1-2-3、6-88-55-44-66 等...)
3) 将组合存储在 List/Dictionnary (Add())
4)玩家每次在盒子里添加一个原子,获取盒子里的所有原子,将它们的ID排序组合,得到组合ID。
5) 检查您的组合 ID 是否存在于您的 list/dictionnary (ContainsKey())
如果您是 C# 的新手,请尝试一下,这是基础知识。看看字典。
编辑 - 对于多个组合:
这个有点复杂。
将原子放入盒子时 =>
- 如果没有碰撞,将你的原子添加到一个新分子中。
- 如果碰撞,将你的原子添加到碰撞原子的分子中
- 如果发生多次碰撞并且你的原子现在是现有分子之间的桥梁......你可以找到一种方法将一个分子转化为另一个分子。或者你可以让一切都爆炸。
我正在制作一个游戏,您可以使用 void OnMouseDrag 来形成带有原子的分子(球体游戏对象)。刚刚制作了一个快速动画来向您展示我真正想要的东西:https://gyazo.com/334e0099af0cc2f16a14e356befe2110。谁能帮我这个?我怎么能这样做?我是C#新手,当然是来学习的。
顺序重要吗? (我假设不是)我会这样开始:
1) 每个原子都有一个唯一的编号 ID : 1, 2, 3 2)
2) 每个分子都有一个唯一的ID,这个ID是用atoms ID正确制作的 已排序(1-2-3、6-88-55-44-66 等...)
3) 将组合存储在 List/Dictionnary (Add())
4)玩家每次在盒子里添加一个原子,获取盒子里的所有原子,将它们的ID排序组合,得到组合ID。
5) 检查您的组合 ID 是否存在于您的 list/dictionnary (ContainsKey())
如果您是 C# 的新手,请尝试一下,这是基础知识。看看字典。
编辑 - 对于多个组合: 这个有点复杂。
将原子放入盒子时 =>
- 如果没有碰撞,将你的原子添加到一个新分子中。
- 如果碰撞,将你的原子添加到碰撞原子的分子中
- 如果发生多次碰撞并且你的原子现在是现有分子之间的桥梁......你可以找到一种方法将一个分子转化为另一个分子。或者你可以让一切都爆炸。