中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站優(yōu)化 圖片每天新聞早知道

網(wǎng)站優(yōu)化 圖片,每天新聞早知道,國外直播做游戲視頻網(wǎng)站,蒼溪網(wǎng)站建設(shè)制作目錄 準(zhǔn)備環(huán)境構(gòu)建官方案例另行構(gòu)建經(jīng)驗(yàn)分享附錄 準(zhǔn)備環(huán)境 安裝Motion Builder 2024并破解安裝Qt 5.15.2 截止至2024年12月19日,Qt的在線安裝器的默認(rèn)頁面是沒有5.15.2版本的。你需要:在“選擇組件”界面,選擇“Archive”,點(diǎn)擊“…

目錄

    • 準(zhǔn)備環(huán)境
    • 構(gòu)建官方案例
    • 另行構(gòu)建
    • 經(jīng)驗(yàn)分享
    • 附錄

準(zhǔn)備環(huán)境

  1. 安裝Motion Builder 2024并破解
  2. 安裝Qt 5.15.2
    截止至2024年12月19日,Qt的在線安裝器的默認(rèn)頁面是沒有5.15.2版本的。你需要:在“選擇組件”界面,選擇“Archive”,點(diǎn)擊“篩選”,重新加載數(shù)據(jù)庫之后,你就可以看到舊版5.15.2了。
    勾選Qt 5.15.2 的MSVC 2019 64-bit和Qt WebEngine。我個(gè)人比較斷舍離,我覺得其它組件用不上,我就都消選了。點(diǎn)擊下一步,直到安裝完成。
    在這里插入圖片描述
  3. 安裝cmake 3.17或更高的版本。
  4. 安裝Visual Studio 2022 或更高版本,還必須安裝“使用 C++ 進(jìn)行桌面開發(fā)”Visual Studio 組件。

本節(jié)參考資料:MotionBuilder SDK 要求

構(gòu)建官方案例

  1. 添加環(huán)境變量
    變量名:QTDIR
    變量值:{Qt5Config.cmake所在的目錄} (舉例:D:\software\Qt\5.15.2\msvc2019_64\lib\cmake\Qt5)

  2. 修改MB給的cmake文件MotionBuilder 2024\OpenRealitySDK\cmake\OpenReality.cmake的第82行,把${QT_VERSION_MAJOR}改成5。

    # find_package(Qt${QT_VERSION_MAJOR} ${QtVersion} REQUIRED COMPONENTS Core Gui Widgets Multimedia OpenGL OpenGLExtensions WebEngineWidgets Xml)
    find_package(Qt5 ${QtVersion} REQUIRED COMPONENTS Core Gui Widgets Multimedia OpenGL OpenGLExtensions WebEngineWidgets Xml)
    
  3. {你的MB安裝目錄}\MotionBuilder 2024\OpenRealitySDK下,輸入cmake指令:

    cmake . -DCMAKE_BUILD_TYPE=Debug
    

    可選的build type還有RelWithDebInfo。

  4. 如果成功構(gòu)建,打開OpenReality.sln。默認(rèn)當(dāng)前啟動項(xiàng)目是ALL_BUILD,如果你直接編全部,大概率遇到各種警告編不過。建議按需編譯:選擇你需要的項(xiàng)目,右鍵點(diǎn)擊”設(shè)為啟動項(xiàng)目“,然后右鍵點(diǎn)擊”生成“。

  5. 如果成功編譯,那么編譯出來的.lib會放在D:\software\MotionBuilder 2024\bin\x64\plugins\Debug。
    要想使用插件,你需要手動啟動MB,點(diǎn)擊頂部菜單欄的Settings>Preference>SDK>Add,選擇上述目錄,確定,Ok,重啟MB即可使用。

  6. 快速啟動(選讀)
    如果直接點(diǎn)擊運(yùn)行,是運(yùn)行不了的,因?yàn)榫幾g的結(jié)果是生成一個(gè)DLL而不是一個(gè)exe。我們需要把這個(gè)dll綁給MB。
    右鍵當(dāng)前項(xiàng)目,點(diǎn)擊最下面的“屬性”,選擇“調(diào)試”,
    填寫“命令”為你本地的MB的exe文件。例如我的是"D:\software\MotionBuilder 2024\bin\x64\motionbuilder.exe"。這一步的作用是,在我們編譯好之后,有.exe能直接啟動。
    填寫“環(huán)境”為MOTIONBUILDER_PLUGIN_PATH=C:\Program Files\Autodesk\MotionBuilder 2023\bin\x64\plugins\Debug。這一步的作用是,讓MB能找到插件在哪里。
    如此啟動之后,MB就能啟動咱們編出來的樣例插件,并且我們能在vs里打斷點(diǎn)調(diào)試了。
    在這里插入圖片描述

另行構(gòu)建

請先確保官方構(gòu)建環(huán)節(jié)能夠跑通。

我的基本思路:照搬官方構(gòu)建的cmake文件,按需小改。

  1. 創(chuàng)建項(xiàng)目文件夾,以myplugin為例。
  2. 從OpenRealitySDK文件夾內(nèi)拷貝以下3個(gè)內(nèi)容到myplugin文件夾:
    在這里插入圖片描述
  3. 修改myplugin\CMakeLists.txt的第10行,把MOBU_ROOT設(shè)為你的MB根目錄,例如我的是:
    # Mandatory path to MotionBuilder Root folder.
    set(MOBU_ROOT "D:/software/MotionBuilder 2024")
    
    修改myplugin\CMakeLists.txt的第16行,子目錄改為Src:
    add_subdirectory( Src )
    
  4. 在myplugin文件夾下,創(chuàng)建文件夾,命名為Src,用于放置源文件。在myplugin\Src\創(chuàng)建以下4個(gè)文件,拷貝我提供的內(nèi)容(詳見附錄):
    ① CMakeLists.txt
    ② mytool_tool.h
    ③ mytool_tool.cpp
    ④ mytool_lib.cpp
  5. 在myplugin文件夾下,cmake構(gòu)建解決方案。創(chuàng)建腳本雙擊更方便。
    Build.bat
    mkdir build
    cd build
    cmake ..
    
  6. 打開解決方案myplugin\build\myplugin.sln,把MyTool設(shè)為啟動項(xiàng)目,運(yùn)行啟動,你會得到:
    在這里插入圖片描述

再次總結(jié),構(gòu)建好的文件目錄應(yīng)該是這樣的,被選中的是必需:
在這里插入圖片描述 在這里插入圖片描述 在這里插入圖片描述
之后就是圈地自嗨時(shí)間啦~!Enjoy!

經(jīng)驗(yàn)分享

  1. 編譯MB的插件,可能會把破解好的許可證弄壞,此時(shí)需要重新破解。祝大家心平氣和
  2. 官方示例插件個(gè)數(shù)大約有80+,并不是每個(gè)插件都放在Tools列表里,而是藏在各種邊邊角角的下拉框。
    當(dāng)你找不到想學(xué)習(xí)的插件的入口時(shí),請打開MotionBuilder 2024\OpenRealitySDK\Samples{插件的系列名}{插件的系列名}.txt,這個(gè)txt文本里面會標(biāo)注這個(gè)系列下的每個(gè)插件是怎么使用的。
    另外,每個(gè)插件的頭文件,可能也會說明這個(gè)插件的功能作用。
  3. 官方文檔是個(gè)好東西。
    https://help.autodesk.com/view/MOBPRO/2024/ENU/?guid=GUID-0AEB6C9E-3A7D-4427-86DA-30E03D65E1C3

附錄

① CMakeLists.txt
你可以從每個(gè)官方示例插件下找到cmake模板,例如OpenRealitySDK\Samples\boxes\box_template\CMakeLists.txt。不同的是,我對它進(jìn)行了按需修改。

# 第1處修改: 設(shè)置我自己的項(xiàng)目名稱
project(MyTool LANGUAGES CXX)# 第2處修改: 從羅列每個(gè)源文件,改成自動識別
file(GLOB HEADER_FILES ${PROJECT_SOURCE_DIR}/*.h)
file(GLOB SOURCE_FILE ${PROJECT_SOURCE_DIR}/*.cpp) # 注意,官方用的是cxx,我用的是cppsource_group(TREE ${CMAKE_SOURCE_DIR} FILES ${HEADER_FILES})
source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${SOURCE_FILE})add_library(${PROJECT_NAME} SHARED${HEADER_FILES}${SOURCE_FILE}
)# 第3處修改:添加調(diào)試選項(xiàng)參數(shù),這樣就可以直接啟動MB并綁定調(diào)試
set_property(TARGET  ${PROJECT_NAME} PROPERTY  VS_DEBUGGER_COMMAND ${MOBU_ROOT}/bin/${BIN_PATH}/motionbuilder.exe)
set_property(TARGET  ${PROJECT_NAME} PROPERTY  VS_DEBUGGER_COMMAND_ARGUMENTS "-console")
set_property(TARGET  ${PROJECT_NAME} PROPERTY  VS_DEBUGGER_ENVIRONMENT "MOTIONBUILDER_PLUGIN_PATH=${MOBU_ROOT}/bin/${BIN_PATH}/plugins/$(Configuration)")target_compile_definitions(${PROJECT_NAME} PRIVATE  FBXSDK_SHARED FBXSDK_NEW_API)
target_link_libraries(${PROJECT_NAME} PRIVATE fbsdk fbxsdk OpenGL::GL OpenGL::GLU)mobu_target_finalize(${PROJECT_NAME} plugins)

② mytool_tool.h
這是插件的UI入口類的頭文件。

#ifndef __MYTOOL_H__
#define __MYTOOL_H__
// ===========================================================================
// Copyright 2017 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk license
// agreement provided at the time of installation or download, or which
// otherwise accompanies this software in either electronic or hard copy form.
// ===========================================================================//--- SDK include
#include <fbsdk/fbsdk.h>//--- Registration define
#define ORTOOLTEMPLATE__CLASSNAME	MyTool
#define ORTOOLTEMPLATE__CLASSSTR	"MyTool"class FbxScene;/**	Tool template.
*/
class MyTool : public FBTool
{//--- Tool declaration.FBToolDeclare( MyTool, FBTool );public://--- Construction/Destruction,virtual bool FBCreate();		//!< Creation function.virtual void FBDestroy();		//!< Destruction function.private:FBLabel		mLabel;FBButton	mButton;
};#endif

③ mytool_tool.cpp
這是插件的UI入口類的.cpp文件

// ===========================================================================
// Copyright 2017 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk license
// agreement provided at the time of installation or download, or which
// otherwise accompanies this software in either electronic or hard copy form.
// ===========================================================================/**	\file	mytool_tool.cxx
*/
#include <fbsdk/fbsdk.h>//--- Class declaration
#include "mytool_tool.h"//--- Registration defines
#define ORTOOLTEMPLATE__CLASS	ORTOOLTEMPLATE__CLASSNAME
#define ORTOOLTEMPLATE__LABEL	"MyTool"
#define ORTOOLTEMPLATE__DESC	"MAY - Tool Description"//--- Implementation and registration
FBToolImplementation(	ORTOOLTEMPLATE__CLASS	);
FBRegisterTool		(	ORTOOLTEMPLATE__CLASS,ORTOOLTEMPLATE__LABEL,ORTOOLTEMPLATE__DESC,FB_DEFAULT_SDK_ICON		);	// Icon filename (default=Open Reality icon)using namespace FBXSDK_NAMESPACE;/*************************************************	Constructor.************************************************/
bool MyTool::FBCreate()
{// Tool optionsStartSize[0] = 800;StartSize[1] = 500;int lB = 10;//int lS = 4;int lW = 200;int lH = 18;// Configure layoutAddRegion("Label", "Label",lB, kFBAttachLeft, "", 1.0,lB, kFBAttachTop, "", 1.0,lW, kFBAttachNone, "", 1.0,lH, kFBAttachNone, "", 1.0);SetControl("Label", mLabel);mLabel.Caption = "Label";AddRegion("Button", "Button",lB, kFBAttachLeft, "", 1.0,30, kFBAttachTop, "", 1.0,lW, kFBAttachNone, "", 1.0,lH, kFBAttachNone, "", 1.0);SetControl("Button", mButton);mButton.Caption = "Button";return true;
}/*************************************************	Destruction function.************************************************/
void MyTool::FBDestroy()
{}

④ mytool_lib.cpp
這是dll文件的注冊信息。每個(gè)MB插件都是一個(gè)綁給MB的dll。

// ===========================================================================
// Copyright 2017 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk license
// agreement provided at the time of installation or download, or which
// otherwise accompanies this software in either electronic or hard copy form.
// ===========================================================================/**	\file	MyToolcxx
*	Library declarations.
*	Contains the basic routines to declare the DLL as a loadable
*	library.
*///--- SDK include
#include <fbsdk/fbsdk.h>#ifdef KARCH_ENV_WIN#include <windows.h>
#endif//--- Library declaration.
FBLibraryDeclare(MyTool)
{FBLibraryRegister(MyTool);
}
FBLibraryDeclareEnd;/*************************************************	Library functions.************************************************/
bool FBLibrary::LibInit()		{ return true; }
bool FBLibrary::LibOpen()		{ return true; }
bool FBLibrary::LibReady()		{ return true; }
bool FBLibrary::LibClose()		{ return true; }
bool FBLibrary::LibRelease()	{ return true; }
http://www.risenshineclean.com/news/56579.html

相關(guān)文章:

  • 最新網(wǎng)站域名seo關(guān)鍵詞排名優(yōu)化哪家好
  • wifi管理網(wǎng)站百度seo規(guī)則
  • 服務(wù)器2003怎么做網(wǎng)站開戶推廣競價(jià)開戶
  • 北京網(wǎng)站優(yōu)化診斷網(wǎng)站推廣怎么推廣
  • html5移動網(wǎng)站開發(fā)流程怎么建網(wǎng)站平臺賣東西
  • 做網(wǎng)站哪個(gè)系統(tǒng)最好今日短新聞20條
  • 上海做門戶網(wǎng)站的公司app推廣活動策劃方案
  • 怎樣做網(wǎng)站賺流量太原百度搜索排名優(yōu)化
  • 網(wǎng)站開發(fā)中怎么樣對接接口新媒體運(yùn)營工作是什么
  • 如何做淘寶店網(wǎng)站設(shè)計(jì)網(wǎng)頁
  • 網(wǎng)站制作設(shè)計(jì)方案百度關(guān)鍵詞推廣公司
  • lnmp 網(wǎng)站開發(fā)總結(jié)站長工具站長之家
  • wordpress grace7 破解深圳百度快照優(yōu)化
  • 做網(wǎng)站帶來好處網(wǎng)站優(yōu)化排名方法
  • 網(wǎng)站建設(shè)實(shí)現(xiàn)功能wix網(wǎng)站制作
  • 超級seo外鏈seo的推廣技巧
  • 做設(shè)計(jì)的有什么網(wǎng)站西安網(wǎng)絡(luò)推廣seo0515
  • 星子網(wǎng)今天最新新聞北京百度推廣排名優(yōu)化
  • 做商城的網(wǎng)站用什么框架好網(wǎng)絡(luò)營銷五個(gè)主要手段
  • wordpress 重裝win7優(yōu)化工具哪個(gè)好用
  • wordpress手機(jī)登錄跳轉(zhuǎn)頁面模板商丘seo教程
  • 清苑區(qū)建設(shè)網(wǎng)站找那家公司可以商用的電視app永久軟件
  • 可信賴的做網(wǎng)站發(fā)帖子最好的幾個(gè)網(wǎng)站
  • 做搜狗手機(jī)網(wǎng)站快速網(wǎng)站開發(fā)與設(shè)計(jì)
  • 網(wǎng)站做自簽發(fā)證書黃金網(wǎng)站軟件免費(fèi)
  • dede怎么做網(wǎng)站日記搜索點(diǎn)擊軟件
  • 一般做網(wǎng)站是用什么程序做的烏魯木齊seo
  • 企業(yè)建設(shè)網(wǎng)站個(gè)人總結(jié)報(bào)告seo網(wǎng)站優(yōu)化多少錢
  • 平臺電商網(wǎng)站開發(fā)5月疫情最新消息
  • 百度網(wǎng)盟推廣怎么選擇投放網(wǎng)站網(wǎng)絡(luò)推廣引流是做什么的