【发布时间】:2013-06-01 21:00:37
【问题描述】:
我需要制作一个 Google SketchUp 插件,该插件必须从外部数据生成纹理并将它们添加到对象上。我知道 SketchUp 可以使用外部图像作为纹理。但是可以动态生成纹理吗?
【问题讨论】:
标签: ruby plugins textures sketchup
我需要制作一个 Google SketchUp 插件,该插件必须从外部数据生成纹理并将它们添加到对象上。我知道 SketchUp 可以使用外部图像作为纹理。但是可以动态生成纹理吗?
【问题讨论】:
标签: ruby plugins textures sketchup
是的,应该可以,但是 SketchUp 中没有库。我认为甚至有一些插件可以做类似于你描述的事情。 (http://sketchucation.com/forums/viewtopic.php?t=21077#p176910)
如果你在 Ruby 中生成位图,它很可能会非常慢,所以我建议你编写一个 Ruby C 扩展,然后你可以使用那里的许多 C 库来操作位图。
您也不能将内存中的位图作为纹理应用,您必须将其写入临时文件,然后像往常一样加载它:material.texture = path_to_image_file。
另外请注意,编译 Ruby C 扩展以在 SketchUp 中运行可能需要一些不同于您通常使用的编译器标志 - 否则您会得到一个 BugSplat 并导致 SketchUp 崩溃。有关为 Ruby SketchUp 编译 C 扩展的简单示例,请查看此存储库:https://bitbucket.org/thomthom/sketchup-ruby-c-extension
【讨论】: