如何在Unity 3D平面上绘制标记?

How to draw marks on Unity 3D plane?

我是 Unity 新手。对不起,如果我有初学者风格的问题。

我想在 Unity 中实现一个 3D 国际象棋游戏。我已经实现了一个包含整个 AI 的 C++ 共享库。我已经在 WPF 和 Android 中使用过这个库,并且它已经过完美测试。现在轮到 Unity 了。

当用户选择一个棋子时,应该显示它的下一步动作。

这些标记可以是灯光或图像。圆形或矩形。

一种方法是让棋盘的每个方格有 64 个标记,并以编程方式更改它们的可见性。

我个人更喜欢的另一种方法是以编程方式绘制标记。但是我不会在我的Chessboard平面上画画

请指导我。

最终结果(只是草图!)

循序渐进:

(假设你已经有了棋盘)

1. 创建一个 Material 并如下图所示配置它。请注意,反照率绿色是 50% 透明的:

2. 创建一个四边形并将其分配给上面新创建的 Material。然后设置 如下图所示:

3. 现在我们将添加发光效果。首先,我们需要关闭 通过切换到 Good Quality 而不是 Fantastic.

来消除锯齿

4.其次,我们需要在主摄像头中启用HDR

5. 第三,我们需要导入Image Effects包。这个包 是 Unity 附带的 Standard Assets 的一部分。这是 完全免费。如果还没有,请从这里获取。 https://www.assetstore.unity3d.com/en/#!/content/32351
您只需要 Image Effect 包。

6.现在给你的主摄像头添加Bloom效果。

7. 就是这样!如果您需要通过代码隐藏它,请参考 它并执行这行代码:

yourQuad.SetActive(false);

在此处查看更多信息: https://docs.unity3d.com/ScriptReference/GameObject.SetActive.html

8. 最后,复制该四边形以创建 64 个并定位它们 适当地。有 2 个技巧可以大大帮助你在地狱中的生活 更简单:

要快速复制一组对象:select全部然后按:Ctrl + D

要启用边缘捕捉:select 您的四边形并按住 V 然后将鼠标悬停在四边形的顶点上。你会看到它周围有一个白色方块。拖动那个 vetex 看看魔法。

9.从现在开始,就是你的游戏逻辑来实现了。你可以存储 二维 array (矩阵)中的所有四边形并对其进行操作 自己,这一切我能想到的。祝你好运!