c# - 使用 C# 在 Unity 中绘图

标签 c# unity3d

我目前有一个 WinForms C# 应用程序。我有一个 .txt 文件,其中包含一些点(建筑物边界、道路等)的 GPS 坐标,并使用 System.Drawing 中的 Graphics.FillPolygon 方法我正在绘制这些在 Panel 上。然而,我有一个想法,对于我正在尝试做的事情(它基本上是一个 2D 游戏),Unity 2D 项目会更合适且易于使用(主要是因为使用相机更容易处理 View )。但是,我不知道如何在其中进行绘图。我只需要以某种方式在 Unity 中绘制这些坐标,但我不知道该怎么做。

注意:我已经对 Unity 中的 3D 有了一些小的了解,但我对 2D 完全是个新手。 谢谢

最佳答案

Unity 中没有内置 GDI/canvas 实现。在 Unity 中以光栅 2D 绘制这些内容非常困难(基本上是像素级别,或寻找一些第三方库)。

不过,您还有其他选择 - 您可以在 3D 中绘制这些形状,而忽略三维。您有几种方法:

  1. Line renderers - 这将是最简单的,但除了绘制轮廓、无填充等之外,别管其他任何事情。

  2. Make your own mesh - 这将使您可以在场景中使用几何体。这是一个保留模式 API(你初始化你的几何图形一次)

  3. Use the GL namespace - 这只会在屏幕上呈现,不会与场景交互。这是一个即时模式 API(在每一帧上绘制所有内容)

关于c# - 使用 C# 在 Unity 中绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24478667/

相关文章:

c# - 以编程方式扩展 DataGrid ColumnHeaderStyle

c# - 更改集合时 WPF 组合框不更新

c# - Unity3D:如何停止角色停止移动时发生的闪烁?

unity3d - 为 Hololens 照亮场景的正确方法是什么?

c# - 获取轨迹渲染器的长度

c# - 如何从音频文件中获取 musicbrainz 轨道信息

c# - 根据项目配置更改 csproj OutputType

c# - 匹配 href 的正则表达式,但没有媒体文件

c# - 通过网络实例化游戏对象

c# - 变换不会向上或向下旋转