MeshSync 三维软件与Unity的完美协作工具

简介

将三维软件中对mesh的编辑,同步到unity
Blender与Unity合作

安装Blender

当然也可以使用以下任意一种三维软件

  • Maya
  • 3ds Max
  • MotionBuilder
  • Blender
  • Metasequoia
  • Modo

下面是blender中文网提供的百度网盘下载地址
链接: 百度网盘下载地址
提取码: qy9t
建议和本文一样使用2.83版本

安装三维软件侧MeshSync插件(MeshSyncDCCPlugins)

不同三维软件安装方式可根据Unity官方MeshSync说明进行配置,这里只叙述Blender安装说明

下载MeshSyncDCCPlugins

Unity提供的MeshSyncDCCPlugins下载地址
我所用的是windows x64所以下载这个
UnityMeshSync_0.2.0-preview_Blender_Windows.zip
下载完成后解压
打开Blender,点击偏好设置
打开偏好设置
点击右上角的安装按钮
点击安装
选择刚才下载并解压的blender-2.83.zip(如果你的Blender和我的不一样,使用对应版本号即可)
跟下图相同则表示插件已经正常安装
确定插件已经启用
Blender到这里就说明成功一半了

下载安装Unity

建议直接下载Uinty Hub
Unity版本最好在2019.3.7f1及以上(我用的就是这个版本),2019.2实测不可行

下载Unity侧插件MeshSync

创建一个Unity3D空工程
打开Window->Packge Manager
PackageManager面板
点击Advanced按钮勾选Show preview packages,查看未发布正式版的插件包,搜索meshsync即可在左侧看到对应插件包
点击install进行安装,安装成功后出现下图
安装完成
关闭面板
打开GameObject->MeshSync->Create Server即可在Hierarchy中创建一个MeshSyncServer
MeshSyncServerComponent
到这里Unity侧插件部署完毕

Blender与Unity合作

查看Blender是否开启自动同步,如果没有就开启
查看此处Auto Sync状态
在Blender创建并改变图形即可在Unity中实时查看改变,如下图
Blender与Unity合作

在Unity中加载修改好的模型

点击此处的Export Cache
点击此处的Export Cache
选择保存的位置,并记录
在Unity中将MeshSyncServer删除
将MeshSyncServer删除
点击GameObject->MeshSync->Create Cache Player场景中会生成文件名物体
场景中会生成文件名物体
修改Time Unit为Frames并且修改Base Frame(从One到Zero),即可在场景中看到之前的模型
修改的地方

要在 Unity 中调用 ANSYS Workbench 中的仿真,需要使用 ANSYS Workbench 中的 ACT (ANSYS Customization Toolkit) 功能。ACT 允许用户使用 Python 脚本 Workbench 进行交互,并执行自定义操作,例如设置仿真参数、运行仿真访问仿真结果。以下是一些示例代码,说明如何在 Unity 中使用 ACT 脚本执行 ANSYS Workbench 仿真。 ```csharp using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using UnityEngine; public class ANSYSRunner : MonoBehaviour { public string workbenchPath; public string simulationName; private string pythonScriptPath; private void Start() { pythonScriptPath = Path.Combine(Application.streamingAssetsPath, "run_simulation.py"); } public void RunSimulation(float parameterValue) { string command = $"\"{workbenchPath}\" -def \"{simulationName}\" -run -batch {pythonScriptPath} {parameterValue}"; Process.Start("cmd.exe", $"/c {command}"); } } ``` 在上面的示例代码中,`ANSYSRunner` 类用于在 Unity 中运行 ANSYS Workbench 仿真。在 `Start` 方法中,我们将 Python 脚本的路径设置为 `pythonScriptPath` 变量。在 `RunSimulation` 方法中,我们使用 `Process.Start` 方法启动一个新的命令行进程,并使用 `workbenchPath` `simulationName` 变量指定要运行的 Workbench 仿真。我们还将 `parameterValue` 作为参数传递给 Python 脚本。在 Python 脚本中,我们可以使用 ANSYS 提供的 API 访问 Workbench 仿真,设置参数并运行仿真。 以下是一个示例 Python 脚本,用于在 Workbench 中执行仿真。 ```python import sys from ansys.wb import Application from ansys.wb import DesignModeler from ansys.wb import Simulation from ansys.wb import Results app = Application() app.initialize() def run_simulation(parameter_value): # Load simulation sim = app.load_simulation(sys.argv[1]) # Set parameter value param = sim.get_parameter(sys.argv[2]) param.value = parameter_value # Run simulation sim.solve() results = sim.get_results() # Save results results.save() app.quit() if __name__ == '__main__': run_simulation(float(sys.argv[3])) ``` 在上面的示例代码中,我们使用 ANSYS 提供的 Python API 访问 Workbench 仿真。在 `run_simulation` 函数中,我们加载 Workbench 仿真、设置参数值并运行仿真。最后,我们使用 `Results` 类保存仿真结果,并退出 Workbench 应用程序。 要在 Unity 中使用上述代码,您可以创建一个 UI 元素(例如按钮或滑块),将其链接到 `ANSYSRunner` 组件的 `RunSimulation` 方法,并将其绑定到 Workbench 仿真的参数名称范围。这样,用户就可以通过 UI 元素来调整仿真参数,并在实时中看到仿真结果的更改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值