代码之家  ›  专栏  ›  技术社区  ›  Kyle Richardson

导出Maya流体,以便可以将其导入到三维模型中。js游戏

  •  2
  • Kyle Richardson  · 技术社区  · 7 年前

    我是Maya新手,我刚刚为正在制作的游戏制作了第一个模型,请参见以下内容:

    enter image description here

    endgine的加力效果是使用Maya流体创建的。我在出口飞机和武器方面没有问题,但我不知道如何在三缸中使用这种液体。js游戏。我做了几个小时的研究,试图找到关于这个话题的任何信息,但都没有结果。如有任何推荐或帮助,将不胜感激!

    编辑:这是我正在采取的步骤和收到的错误的更新。真的希望这是有意义的和可解决的。我在网上找不到任何与这些错误有关的好信息。

    步骤2:选择创建的几何图形>编辑(>);钥匙>烘焙模拟,下面选项的屏幕截图。(所有工作按预期进行)

    enter image description here

    步骤3:从“流体到多边形”(Fluid to Polygons)步骤中选择生成的几何体,在hypershader中选择“我的流体形状”(my fluidShape2),然后执行Hypershade Edit>转换为文件纹理(Maya软件)(未按预期工作,出现错误)

    enter image description here

    以下是Maya显示的错误:

    // Error: file: /Applications/Autodesk/maya2017/Maya.app/Contents/scripts/others/copyConvertSolidTx.mel line 93: Cannot convert a texture connected to initialShadingGroup

    在我看来 fluidShape2 lambert1 .考虑到我上周开始使用Maya,我不太确定。

    编辑#2:

    enter image description here

    enter image description here

    如您所见,颜色为黑色,该对象的唯一照明是其产生的照明。它根本不是从外部光源照明的。

    问题:有没有办法烤白炽灯?

    编辑#3:

    作为流体:

    enter image description here

    作为应用了10个步骤的多边形:

    enter image description here

    enter image description here

    这是通过hypershader应用的材料:

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Andy Jazz    7 年前

    导出之前,需要将流体转换为多边形。

    这是一个用于测试的MEL脚本。在脚本编辑器中运行它。

    // opening nuke explosion example 
    file -import -type "mayaAscii" -ignoreVersion -ra true -mergeNamespacesOnClash false -namespace "Nuke" -options "v=0;" -pr "/Applications/Autodesk/maya2016.5/Maya.app/Contents/Examples/FX/Fluid_Examples/Explosions/Nuke.ma" ;
    
    // selecting fluid container
    select -r Nuke:fluid ;
    
    // converting fluid to polygons
    fluidToPoly ;
    
    // changing mesh resolution under shapeNode/outputMesh tab in Attribute Editor
    setAttr "Nuke:fluidShape.meshResolution" 3 ; 
    

    Modify Convert Fluid to Polygons

    然后在属性编辑器中选择形状节点的选项卡,并在输出网格区域中更改网格分辨率。

    查看有关导出的有用信息: Three.js Maya Export

    enter image description here enter image description here enter image description here

    请记住:如果场景中有动画,则需要在导出之前使用以下工具对其进行烘焙:

    Edit Keys Bake Simulation

    bakeResults -simulation true -t "1:100" -sampleBy 1 -disableImplicitControl true -preserveOutsideKeys true -sparseAnimCurveBake false -removeBakedAttributeFromLayer false -removeBakedAnimFromLayer false -bakeOnOverrideLayer false -minimizeRotation true -controlPoints false -shape true {"nurbsSphere1"} ;
    

    您不需要任何类型的曲线插值(线性或贝塞尔),只需在每一帧上烘焙关键点。可以通过FBX或ABC文件格式导出动画。还有其他方法可以将动画网格导出为OBJ序列: Free OBJ Sequences Import/Export .

    此外,如果导出灯光有任何问题,请在对象的纹理中烘焙灯光及其阴影。这是基于逐顶点导出动画和纹理的更好方法。

    enter image description here

    1. 选择流体容器并应用ModifyConvertFluidToPolygons。您将在视口中看到带有Lambert1着色器的多边形对象。

    2. 打开WindowsRenderingEditorHypershade,选择FluidTexture,并使用MMB拖放将其指定给AE中PolyObject的initialShadingGroup中的表面材质槽。

    3. 要更改透明度、不透明度或白炽度,只需在大纲视图中选择“PolyObject”,然后在AE中转到“fluidShape”选项卡并选择“Shading area”。

    4. 导出OBJ序列。