导入自定义模型 |
您所在的位置:网站首页 › 模型文件夹转fbx › 导入自定义模型 |
导入自定义模型¶
Time:10 分钟 本文概述了 Roblox 从 Autodesk Maya 或 Blender 导入自定义模型的流程(包括带有动画的模型),可作为非玩家角色与机械对象等使用。 关于模型的指导原则¶ 常规准则¶在 Maya 或 Blender 中构建角色模型时,请遵循以下常规准则: 确保将单位设置为 Centimeter(厘米)。 几何体网格应仅具有转换值。这些值应相对于其父关节。举例来说,如果从其关节取消网格的父项,则应将转换值清零 (0, 0, 0)。 如果没有看到此情况,请取消几何体网格的父项,冻结其变换,然后将其父项设置回各自关节。现在,它们应该具有本地转换值,并且如果取消父项,则将它们清零。 所有关节均应正确放置且任何轴均不得旋转,它们应该都为 (0, 0, 0)。同样,每个关节的比例应保持默认值,并设置为 (1, 1, 1)。 模型层次结构¶对于总体上的模型层次结构,请确保: 具有名为 Root(区分大小写)的最高级关节。 Root 的每个子代关节都有一个名称相同、或名称带有 _Geo 后缀的匹配的几何体。比如,如果关节名为 Torso,那几何体的名称应为 Torso 或 Torso_Geo。 Root Torso Torso_Geo RightUpperLeg RightUpperLeg_Geo RightLowerLeg RightLowerLeg_Geo LeftUpperLeg LeftUpperLeg_Geo LeftLowerLeg LeftLowerLeg_Geo 导出模型¶请参阅下列指导,具体取决于您正在从哪一软件导出(Maya 或 Blender)。 从 Maya 导出 »¶从 Maya 导出角色之前,确保将单位设置为 Centimeters(厘米)。然后使用 File(文件) → **Export All(全部导出)**并对默认设置进行以下更改: 设置 值 几何体 平滑网格 已启用 参考资产内容 已启用 单位 自动 已启用 轴转换 上轴 Y FBX 文件格式 类型 二进制 版本 FBX 2014/2015 如果还要导出纹理,请打开 **Embed Media(嵌入媒体)**部分并确保选中 Embed Media(嵌入媒体)。 从 Blender 导出 »¶从 Blender 导出角色之前,请确保将单位设置为 Centimeters(厘米)。然后在 **Export FBX(导出 FBX)**面板中,对默认设置进行以下更改: 设置 值 **Camera(镜头)**按钮 已禁用 **Lamp(灯具)**按钮 已禁用 如果要将纹理导出为嵌入媒体,请将 **Path Mode(路径模式)**设置为 Copy(复制)并单击其右侧的框,这样看来好像正在弹出纸张。请注意,这只适用于二进制 FBX 导出,而不适用于 ASCII。 导入至 Roblox Studio¶想要了解导入自定义模型的流程,可下载本示例(SimpleDog.fbx)。 下载 下载好 FBX 文件后,请按如下步骤操作: 从 Studio 的 Plugins 选项卡中,点击 Avatar Importer(角色导入)按钮。 点击四个选项中的 Custom(自定义)选项。 浏览下载好的文件(SimpleDog.fbx)。导入 Studio 中后应为此模型。 (IMAGE) 导入/导出动画¶如果您使用 Maya 或 Blender 直接进行了模型的动画制作,您可以通过 Roblox 的内置 /articles/using animation editor|动画编辑器来导入及上传动画。 导入动画¶若想从 FBX 文件中导入动画: 在 Plugins 选项卡中,点击 Animation Editor(动画编辑器) 。 选择模型(ImportedCustomRig)并点击 Create (如果可以的话)。如有关于 R15 虚拟角色的警告信息,直接忽略即可。 从动画编辑器的 File 菜单中(非 Studio 的 File 文件菜单)选择 Import FBX Animation(导入 FBX 动画)。 浏览并选择同一 FBX 文件(SimpleDog.fbx)。 计算髋高 »¶任何通过 Avatar Importer 虚拟角色导入器导入的模型都会被分配为 Humanoid 人型生物对象,即使他们看上去并非如此。人型生物包括有若干随模型设计和高度而变化的属性,如 Humanoid/HipHeight|HipHeight 。 确定大致的 Humanoid/HipHeight|HipHeight 值的方式如下: 移动模型以使其脚部/底座的 Y 位置为 0 ,如待在默认的 Baseplate 上的对象。 在 Studio 的命令栏(View → Command Bar)中,粘贴下面的代码。 从 Output 输出窗口中(View → Output)复制或记录下显示的值;后面测试自定义模型时会用到。 local hrp = workspace.ImportedCustomRig.HumanoidRootPart print(hrp.Position.Y - (0.5 * hrp.Size.Y)) 导出动画¶当您将动画顺利导入之后,还需要将其上传到 Roblox 。 动画编辑器的 File 菜单中(而不是 Studio 的 File 文件菜单)选择 Export(导出) 。 选择新栏位或者已有栏位。 上传完成后,复制或记录动画的 ID,随后在测试自定义模型时会用到。 https://www.roblox.com/catalog/2350495664 从对话窗口退出;此时,您可以把动画编辑器窗口也一并关闭。 在 Studio 中进行测试¶最后一个环节:您可以按如下方式来测试模型: 在管理器窗口中,将 ImportedCustomRig 移动到 ServerStorage 中。 将鼠标放在 ServerScriptService 上,点击 按钮,并插入一个新的 Script 。 将刚才创建的新脚本重命名为 CreateObjectFromRig。 将下列代码粘贴到该脚本中。 local ServerStorage = game:GetService("ServerStorage") local animationID = 0000000000 -- 将模型复制到 workspace 工作区并设置各属性 local template = ServerStorage.ImportedCustomRig local object = template:Clone() local humanoidObject = object.Humanoid humanoidObject.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None humanoidObject.HipHeight = 2.45 object.Parent = workspace -- 设置模型位置 object:MoveTo(Vector3.new(20, 4, 0)) -- 创建自定义动画 local animation = Instance.new("Animation") animation.AnimationId = "rbxassetid://" .. animationID animation.Parent = ServerStorage -- 播放自定义动画 local animationTrack = object.Humanoid:LoadAnimation(animation) animationTrack:Play()在第 3 行,将 animationID 值改为您之前在导出动画部分记下的 ID。 local ServerStorage = game:GetService("ServerStorage") local animationID = 2350495664 -- 将模型复制到 workspace 工作区并设置各属性在第 10 行,将 humanoidObject.HipHeight 值改为您在 Hip Height 部分计算所得的数字。 -- 将模型复制到 workspace 工作区中并设置各属性 local template = ServerStorage.ImportedCustomRig local object = template:Clone() local humanoidObject = object.Humanoid humanoidObject.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None humanoidObject.HipHeight = 2.9460468292236 object.Parent = workspace进行游戏,您应该会在游戏中看到狗了。它会以在 FBX 文件中事先配置的简单动作来进行移动。 (VIDEO) ***Roblox官方链接:导入自定义模型 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |