0

我需要制作一个 Google SketchUp 插件,该插件必须从外部数据生成纹理并将它们添加到对象上。我知道 SketchUp 可以使用外部图像作为纹理。但是可以动态生成纹理吗?

4

1 回答 1

1

是的,这应该是可能的,但是 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

于 2013-06-03T20:43:59.597 回答