IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 3dsMax2022插件开发环境的搭建 -> 正文阅读

[游戏开发]3dsMax2022插件开发环境的搭建

作者: Kagula

时间: 2021-10-18

内容概要

  • 介绍如何搭建3dsMax2022插件的C++开发环境。

正文

初始环境

  • Windows 10专业版,Microsoft Windows [版本 10.0.19042.1288]
  • Autodesk 3dsMax2022,版本,2022.2Update,24.0 - 24.2.0.2334
  • Visual Studio 2019 Community 版本,16.11.5。如果你的计算机中没有安装这个IDE,则需额外的Visual Studio 2019 C++运行时库。

第一步: 安装Visual Studio Community 2017

你没看错,根据Autodesk 3dsmax2022文档的要求,我们还需要安装Visual Studio 2017用来开发插件。

????????在微软官网中下载Visual Studio Community 2017在线安装程序,勾选【使用C++在桌面开发】选项进行安装。

????????安装完毕后,再次运行Visual Studio Installer,切换到【单个组件】页面,选择【Windows 10 SDK (10.0.17134.0)】和【用于x86和x64的Visual C++ MFC】两个组件,继续安装。由于MFC已经退出Microsoft主流开发工具,所以需要手动选择安装。

第二步:安装Qt5

? ? ? ? ?我们可以先在线安装Qt5.15.2,因为Qt官网在线安装是没有5.15.1的,安装好后,我们再安装Qt5.15.1离线包。

? ? ? ? 在离线安装Qt5.15.1前确保已经安装了Python,如果没有,在命令行下输入python,OS会启动Window Store窗口,显示Python 3.9的安装界面,点击安装就可以了。接下去安装Perl,Ruby。我这里用的是AcitveState Perl 5.32和Ruby?2.7.1-1-x64。

? ? ? ? 下载“https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.1/single/qt-everywhere-src-5.15.1.zip”解压到D分区,打开“x64 Native Tools Command Prompt for VS 2017”控制台后使用下面的命令编译和安装Qt5.15.1,这个过程可能需要几小时。这里假设你已经在“D:\qt-everywhere-src-5.15.1”位置。

mkdir qt-build && cd qt-build
..\configure.bat -skip qtwebengine -confirm-license -opensource -debug-and-release -nomake tests -nomake examples -prefix C:\Qt\5.15.1_x64
nmake
nmake install

? ? ? ?如果一切OK,C分区中我们已经有了编译好的Qt工具。

第三步:安装3dsmax 2022 SDK

  • 根据参考资料【3】中给出的链接下载3dsmax 2022 SDK并安装。使用admin权限打开命令行输入下面的命令:
mklink /j ?"C:\Program Files\Autodesk\3ds Max 2022 SDK\maxsdk\Qt\5.15.1" ?C:\Qt\5.15.1_x64
mklink /j ?"C:\Program Files\Autodesk\3ds Max 2022 SDK\maxsdk\lib\x64\Debug" ?"C:\Program Files\Autodesk\3ds Max 2022 SDK\maxsdk\lib\x64\Release"

? ? ? ? 请打开文件夹,检查maxsdk目录下的两个软链接是否已经建立,然后再进入下一步骤。

  • 为“Visual Studio 2017”安装3dsmax插件项目的向导。进入"C:\Program Files\Autodesk\3ds Max 2022 SDK\maxsdk\howto\3dsmaxPluginWizard"目录,修改3dsmaxPluginWizard.vsz文件内容中absolute path的设置,修改后的内容如下:
    VSWIZARD 7.0
    Wizard=VsWizard.VsWizardEngine.15.0
    
    Param="WIZARD_NAME = 3dsmaxPluginWizard"
    Param="ABSOLUTE_PATH = C:\Program Files\Autodesk\3ds Max 2022 SDK\maxsdk\howto\3dsmaxPluginWizard"
    Param="FALLBACK_LCID = 1033"

    然后把“3dsmaxPluginWizard.ico,3dsmaxPluginWizard.ico,3dsmaxPluginWizard.vsz”三个文件复制到“C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcprojects”文件夹中,如果“vcprojects”文件夹不存在,就新建它。如果这一步正确,你在Visual Studio中新建项目,会看到多了一个3dsmax Plugin Wizard选项。

  • 根据参考资料【4】中给的链接,离线下载安装Qt Visual Studio Tool,当然你也可以在Visual Studio中在线安装,由于我的网络等了几个小时还没下载完成,没耐心等下去换成离线方式安装了。安装完毕后打开Visual Studio,找到主菜单[Qt VS Tools]->[Qt Versions]->[add new QT version],version填5.11.1,path填“C:\Qt\5.15.1_x64”。

最后一步:新建项目,测试开发环境是否已经正确安装

????????以admin身份启动Visual Studio 2017开发环境,新建项目选择“3ds Max Plugin Wizard”,这里我们使用默认名称“maxProject1”。下一步,Plugin Type选择Utility。下一步,category填test,description填this is a kagula test,当然在这里你可以改成其它字符串。 向导中的最后一步,MaxSDK路径填“C:\Program Files\Autodesk\3ds Max 2022 SDK\maxsdk”,插件输出路径填“C:\Program Files\Autodesk\3ds Max 2022\Plugins”,3dsmax.exe路径填“C:\Program Files\Autodesk\3ds Max 2022”。勾选“Use Qt UI”,其它都不用勾选。

? ? ? ? 向导新建了几个文件,对当前任务来说我们只需要关注maxProject1.cpp文件中的BeginEditParams成员函数,当插件被3dsmax加载时会调用这个函数。

void maxProject1::BeginEditParams(Interface* ip,IUtil* iu)
{
	this->iu = iu;
	widget = new QWidget;
	ui.setupUi(widget);

	// We can connect UI signals here using Qt Functor syntax
	QObject::connect(ui.pushButton, &QPushButton::clicked, this, &maxProject1::DoSomething);
	ip->AddRollupPage(*widget, L"Plug-in Rollup");

	// 这一行代码是我们新添加的, 用来测试我们的插件是否被3dsmax正确加载.
	ip->PushPrompt(_M("你好,我被加载了! 我们的开发环境能用了!"));
}

????????参考上面的C++代码,我们在原来的模板上添加一行新的代码,用来验证开发环境是否就绪。Build Solution后,按F5运行程序,如果一切顺利我们会看到3dsmax 2022的启动。然后,参考图一启动我们新写的插件

图一 打开我们的第一个插件maxProject1

? ? ? ? 然后,我们就可以在工作区中看到我们的插件了。?

图二 我们的第一件插件运行成功了

? ? ? ? 至此我们的3dsmax 2022插件的开发环境就搭建好了。?

? ? ? ? 可以看到“maxProject1.dlu”动态库在“C:\Program Files\Autodesk\3ds Max 2022\Plugins”目录中自动生成了。3ds max2022启动的时候会自动加载这个路径下的插件。

备注

  • 测试代码的具体含义参考资料【5】,我们这里只关注3dsmax2022插件C++开发环境的搭建。

常见问题

  • 3dsmax plugin项目属性页[Qt]->[QT Project Settings]报“Object reference not set to an instace of an object”的问题。我发现这个问题不影响,编译和跟踪插件程序的源代码,所以没去理它。
  • 如何修改Qt、3dsmax等依赖库路径?参考“C:\Program Files\Autodesk\3ds Max 2022 SDK\maxsdk\ProjectSettings\propertySheets”路径下的“3dsmax.general.project.settings.props”和“3dsmax.cpp.props”文件。这两个文件是property sheet可以在Visual studio 2018的property manager窗口中看到。
  • 如果在Visual Studio 2017中找不到Property Manager窗口,打开Visual Studio主菜单[Tools]->[Cusomize]->[Commands]->[Menu bar]->[View]中寻找。

参考资料(链接)

【1】《Autodesk 3dsmax2022 SDK需求文档》

??????https://help.autodesk.com/view/MAXDEV/2022/ENU/?guid=Max_Developer_Help_about_the_3ds_max_sdk_sdk_requirements_html

【2】《Visual Studio Community 2017下载位置》

??????https://download.visualstudio.microsoft.com/download/pr/8807d71a-11f0-4c53-85c1-3f884f4ab74c/c9a7bff557ef07fbefbe25d54ffb1da1d32cb6381cc7bfa2d3195f2722a35cf8/vs_Community.exe

【3】《3dsmax 2022 SDK下载位置》

https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Max/Autodesk+3ds+Max+2022/SDK_3dsMax2022.msi

【4】《Visual Studio 2017的Qt VS Tool扩展下载位置》

https://theqtcompany.gallerycdn.vsassets.io/extensions/theqtcompany/qtvisualstudiotools-19123/2.7.2/1633700089131/qt-vsaddin-msvc2017-2.7.2.vsix

【5】《3dsmax 2022 SDK官网中的第一个C++程序》

https://help.autodesk.com/view/MAXDEV/2022/ENU/?guid=Max_Developer_Help_3ds_max_sdk_the_learning_path_lesson_1_sample_utility_plug_in_html

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 12:13:25  更:2021-10-19 12:14:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 0:32:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码