在 Unity3D 中使用 GraphicsMagick

2024-06-21

我正在寻找在 Unity3D 中使用 System.Drawing 的替代方案,因为显然 Unity 不支持它。我想简单地在纹理上画一些线。但我想要诸如线宽和边缘圆角之类的选项,这些选项相当复杂。 GraphicsMagick 看起来很完美,而且它是免费的。

这是我已经采取的步骤:

1) 我将播放器设置更改为使用 api 兼容性级别 2.0,而不是“子集”。

2)我下载了GraphicsMagick .Net 2.0 x64 包装器 https://graphicsmagick.codeplex.com/,提取dll。

3)在Windows资源管理器中右键单击该dll,选择属性,然后解锁该dll。

4)将dll放入我的assets/plugins文件夹中。

5)从\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0文件夹中取出System.Drawing dll,并将其放入我的assets/plugins文件夹中。

6)在我的项目引用(Visual Studio 2015)中添加了对这两个 dll 的引用。

7) 在我的 c# 脚本中添加了“using GraphicsMagick”。

它在 Visual Studio 2015 中编译得很好,没有错误。但当我切换回 Unity 时,它说:

Assets/_GeoSphere/_ScriptsCS/DrawLineUV.cs(5,7): error CS0246: 
The type or namespace name `GraphicsMagick' could not be found.
Are you missing a using directive or an assembly reference?

另外,unity 似乎从我的项目引用中删除了对 GraphicsMagick 的引用。

因此,在对这个问题进行了大量研究之后,我开始认为这个问题与 dll 是非托管/本机这一事实有关。我正在免费使用 Unity 5,但据我了解,它现在支持本机 dll。

我只想画一条平滑、宽、圆边的线!我不介意贝塞尔曲线。如果有人知道如何让 GraphicsMagick 在 Unity3D 中工作,即使过程相当复杂,请详细说明。谢谢。 :)


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Unity3D 中使用 GraphicsMagick 的相关文章

  • 二维空间中的重叠线段

    我需要找出两条线是否相互重叠 如果两条线平行 我有返回 0 的交集代码 但接下来我需要知道这两条平行线是否重叠 Edit A C B D 1号线 A B 2号线 C D 我需要确定第 1 行是否与第 2 行重叠 但两条线的斜率都可以 gt
  • Unity 2019 - 如何修复 TextMeshPro 2.0 错误 cs0433

    我刚刚开始包含 Vuforia SDK 的新项目 进行一些更改后 我决定从 Asset Store 安装 GitHub 扩展以进行一些备份 之后我的 textMeshPro 插件变得疯狂 抛出了一个我无法处理的恼人错误 错误说 Librar
  • 从sourceforge下载最新版本

    我正在尝试在 bash 脚本中从 Sourceforge 下载最新版本的graphicsmagick wget q https sourceforge net projects graphicsmagick files latest dow
  • 自定义窗口上的 Unity 自定义检查器

    我有一个显示对象列表的自定义窗口 每个对象都有一个自定义检查器编辑器 是否可以在自定义窗口内显示自定义检查器 你不能强迫Unity3D将自定义检查器绘制在检查器窗口之外的其他位置 顺便说一句 您可以手动实例化Editor using 编辑器
  • 三种 System.Drawing 方法表现出缓慢的绘制或闪烁:解决方案?或其他选择?

    我正在通过 System Drawing 进行一些绘图 但遇到了一些问题 我将数据保存在队列中 并将该数据绘制 绘制 到三个图片框中 此方法填充图片框 然后滚动图形 所以不要在以前的绘图上绘制 并且逐渐看起来更混乱 我找到了两种绘制图表的解
  • IBM Watson 对话服务错误:无法从“方法组”转换为“conversation.onMessage”

    我正在尝试运行 IBM Watson会话服务团结和下面是代码片段 https github com watson developer cloud unity sdk conversation private Conversation m C
  • 空合并运算符分配给 self

    我目前在 Unity 中设置了两个脚本来处理一些 UI 音频 一个是管理器 另一个是为特定 UI 元素播放声音 我所拥有的简化版本是这样的 public class AudioUIManager MonoBehaviour Only one
  • 检测哪些 Tilemap 单元与 Unity 中的 Collider2D 发生碰撞

    我有一个Tilemap 这有一个TilemapCollider2D成分 在其上绘制了几个图块 每个图块都有自己的精灵碰撞器形状 然而它们是精灵图块而不是预制件 它们不是使用预制画笔绘制的 我还有一个游戏对象Collider2D a Circ
  • 将函数作为函数参数传递

    Unity C 似乎无法识别Func lt gt 作为函数委托的符号 那么 如何将函数作为函数参数传递呢 我有一个想法Invoke functionName 0 可能有帮助 但我不确定它是否实际上立即调用该函数 或者等待帧结束 还有别的办法
  • 如何制作一条带有边框的 SVG“线”?

    我有一个小 svg 小部件 其目的是显示角度列表 参见图片 现在 角度是线元素 只有描边 没有填充 但现在我想要一个 内部填充 颜色和周围的 描边 边框 我猜 line 元素无法处理这个问题 那么我应该使用什么来代替呢 请注意 线条笔划的线
  • 从列表中获取数组而不进行堆分配

    我有一个列表 我想将其数组分配给一个属性 public void BuildMesh List
  • Android - 如何在 ListView 的背景上显示垂直线(并根据行高)?

    如何在背景上显示一条垂直线 如下图蓝色突出显示的那条 在此示例中 我有一个带有 ImageView 元素的 ListView 和 TextView 但它与线条无关 并且我希望这些项目的背景上有一条垂直线 让人感觉它们与每个项目 连接 另请注
  • 模块中的类无法加载

    我正在开发一个 2D Unity android 游戏 其中我最近添加了 Firebase Beta SDK 但添加后FirebaseAnalytics unitypackage我面临的错误是 无法加载模块中的类 当我删除文件夹时Fireb
  • 使物体跟随旋转且差异很小

    我正在使我的对象跟随另一个对象的旋转 我希望我的对象以很小的差异旋转 也就是说 从当前的旋转来看 它不应该与另一个对象完全旋转 其旋转应该存在差异 使其旋转主要对象旋转的 10 我该怎么做呢 using System Collections
  • Libgdx SpriteBatch.draw() 指定 4 个顶点

    我正在使用 libGdx 创建一个 2d 游戏 并尝试使用这个特殊的方法来绘制一个简单的 2d 纹理 分别指定 4 个顶点 draw Texture texture float spriteVertices int offset int l
  • 用渐变画线

    我在不同的位置画了多条线 例如 canvas drawLine startXLine1 stopXLine1 startYLine1 stopYLine1 paint canvas drawLine startXLine2 stopXLin
  • 如何在Unity中录制屏幕并将输出作为文件[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有什么方法 例如编码或使用免费资源在我的游戏中实现屏幕录制功能 我正在开发 Unity 我的项目需
  • 接收任何键盘输入并与 Unity 上的 Switch 语句一起使用

    我不想使用 if 语句 为了简单性和性能 我想使用 switch case 并执行该方法 我希望检测到所有键盘输入 但是有没有什么方法可以传递按键信息呢 我目前的做法是 Update is called once per frame voi
  • 未将对象引用设置为对象 UnityEngine 的实例

    长话短说 在编写游戏代码时 我突然遇到了一堆这样的错误 数字不断上升 NullReferenceException Object reference not set to an instance of an object UnityEngi
  • 使用Physics.Raycast 和Physics2D.Raycast 检测对象上的点击

    我的场景中有一个空的游戏对象 带有 2D 组件盒碰撞器 我将脚本附加到该游戏对象 void OnMouseDown Debug Log clic 但是当我点击我的游戏对象时 没有任何效果 你有什么想法 如何检测我的盒子碰撞器上的点击 使用光

随机推荐