答案 0 :(得分:2)
根据您的情况,有很多不同的方法可以执行此操作。
1。。如果最多只允许2个或4个播放器,则可以为每个播放器创建不同的坦克预制件(使用不同的颜色材料),然后为每个实例实例化相应的坦克玩家加入游戏时。这是最简单的解决方案,将是解决此问题的好方法。
2。。如果您想在不创建更多材料或预制件的情况下更改坦克的颜色,则可以使用“材料属性块”在运行时更改新玩家坦克上每种材料的颜色。 。请查看this question和this article了解更多信息。使用该文章中的Material Property Block解决方案时,需要创建一个内置着色器的副本并进行编辑,但是您只需要添加一行代码即可。如果您以前没有使用过着色器,则它们看起来可能令人生畏,但这还不错。
由于您将在运行时提供颜色,因此可以在脚本上为每个播放器材质使用全局“颜色”字段,也可以使用播放器索引生成颜色(推荐-以下示例)。使用播放器索引(playerIndex
= 1、2 ... maxPlayers
)可以使您拥有任意数量的不同背心类型,并且可以使用以下代码来获取颜色(然后提供给“材质属性块”的color属性)。
var c = Color.HSVToRGB(startHue + (playerIndex / (float)maxPlayers), 1, 1);
有关生成这种颜色的更多信息,请查阅文档here。您可以使用HSL颜色选择器here中的色相值选择startHue
(将是播放器1的颜色)。