【发布时间】:2017-12-01 05:41:58
【问题描述】:
请原谅我在这方面的无知,但有谁知道如何导出 Maya 流体以便可以导入到 three.js 中?
我是 Maya 的新手,我刚刚为我正在制作的游戏制作了我的第一个模型,见下文:
尾端的加力效果是使用 Maya 流体创建的。我导出飞机和武器没有问题,但我不知道如何在 three.js 游戏中使用流体。我已经进行了数小时的研究,试图找到有关此主题的任何信息,但无济于事。任何参考或帮助将不胜感激!
编辑:这是我正在采取的步骤和收到的错误的更新。真的希望这是有意义的和可解决的。我在网上找不到与这些错误相关的任何有用信息。
第 1 步:修改 > 转换 > 流体到多边形(一切正常) 第 2 步:选择创建的几何 > 编辑 > 键 > 烘焙模拟,选项截图如下。 (一切按预期工作)
第 3 步:从 Fluid to Polygons 步骤中选择生成的几何体,在 hypershader 中选择我的 fluidShape2 并执行 Hypershade Edit > Convert to File Texture (Maya Software)(不能按预期工作,出现错误)
这里是超着色器和多边形的截图:
这是 Maya 吐出的错误:
// Error: file: /Applications/Autodesk/maya2017/Maya.app/Contents/scripts/others/copyConvertSolidTx.mel line 93: Cannot convert a texture connected to initialShadingGroup
在我看来,hypershader 中的fluidShape2 节点实际上并不是一个着色器,并且创建的多边形实际上分配给了lambert1。虽然考虑到我上周开始使用 Maya,但我不太确定。
编辑#2:
好的,这里是显示流体形状设置为表面材质的屏幕截图。
这是流体着色属性的屏幕截图。
如您所见,颜色为黑色,该对象的唯一照明是它产生的照明。它根本不是从外部光源点亮的。
渲染统计中也未选中投射/接收阴影。
问:有什么办法可以烤白炽灯?
编辑#3:
遵循您的 10 步计划后,我得到了与之前相同的结果。这是之前和之后显示的屏幕截图。在火焰后面添加了一个绿色平面,以更容易地显示它处于第二个状态。
作为流体:
作为应用了 10 个步骤的多边形:
这里是属性编辑器:
这是通过hypershader应用的材质:
我重复了你给我的 10 个步骤,每次都得到相同的结果。
【问题讨论】:
-
我在回答中添加了分步说明。
-
我不知道它是否特定于 Maya 2017,但是 MMB 将流体形状拖到 initialShadingGroup 的表面着色器上不起作用。如果您将新的 Blinn 材质分配给生成的多边形,然后将您的 fluidShape 链接到您希望影响的 Blinn 材质的属性,它确实有效。
-
如果当前方法不起作用,请尝试其他方法。也许您需要为网格(Lambert2)分配一个新的着色器,或者禁用 Arnold Renderer 模块。
-
Blinn 着色器有高光,Lambert 没有。