99国产欧美另娄久久久精品_国内自拍农村少妇在线观看_久久亚洲道色宗和久久_日本aⅴ大伊香蕉精品视频_亚洲国产欧美日韩欧美特级_日本视频免费在线观看

  • 您的位置:首頁 > 新聞動態 > 技術文章

    UE4實現簡單的插件開發VS2015

    2017/8/8??????點擊:

    1. 從Editor中生成一個空的C++插件模板

    2. 關掉vs,右鍵生成一下工程文件,把Plugins掃進去

    打開解決方案開始編寫插件,插件加進來了 

    3. 編寫插件
    首先把插件的配置文TestPlugin.uplugin件改一下(被這個坑了兩天) 
    這個LoadingPhase的值默認為Default,必須修改為PreDefault,不然重啟Editor會報關聯不上插件源碼的錯誤,切記! 


    修改編譯模塊配置TestPlugin.Build.cs文件,c#文件 


    詳細代碼,有注釋 !
    using UnrealBuildTool;
    using System.IO; //路徑獲取需要用到IO
    public class TestPlugin : ModuleRules
    {
        private string ModulePath //當前TestPlugin.Build.cs文件所在的路徑
        {
            get { return Path.GetDirectoryName(RulesCompiler.GetModuleFilename(this.GetType().Name)); }
        }
        private string ThirdPartyPath //這個插件引用的第三方庫的目錄
        {
            get { return Path.GetFullPath(Path.Combine(ModulePath, "../../ThirdParty/")); }
        }
        private string MyTestLibPath //第三方庫MyTestLib的目錄
        {
            get { return Path.GetFullPath(Path.Combine(ThirdPartyPath, "MyTestLib")); }
        }
        public TestPlugin(TargetInfo Target)
        {
            PublicIncludePaths.AddRange( //公有文件搜索路徑
                new string[] {
                    "TestPlugin/Public"
                    // ... add public include paths required here ...
                }
                );
            PrivateIncludePaths.AddRange(
                new string[] {
                    "TestPlugin/Private" //私有文件搜索路徑
                    // ... add other private include paths required here ...
                }
                );
            PublicDependencyModuleNames.AddRange(
                new string[]
                {
                    "Core"
                    // ... add other public dependencies that you statically link with here ...
                }
                );
            PrivateDependencyModuleNames.AddRange(
                new string[]
                {
                    "CoreUObject",
                    "Engine",
                    "Slate",
                    "SlateCore",
                    // ... add private dependencies that you statically link with here ...  
                }
                );
            DynamicallyLoadedModuleNames.AddRange(
                new string[]
                {
                    // ... add any modules that your module loads dynamically here ...
                }
                );
            LoadThirdPartyLib(Target); //加載第三方庫
        }
        public bool LoadThirdPartyLib(TargetInfo Target)
        {
            bool isLibrarySupported = false;
            if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32))//平臺判斷
            {
                isLibrarySupported = true;
                System.Console.WriteLine("----- isLibrarySupported true");
                string PlatformSubPath = (Target.Platform == UnrealTargetPlatform.Win64) ? "Win64" : "Win32";
                string LibrariesPath = Path.Combine(MyTestLibPath, "Lib");
                PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, PlatformSubPath, "TestLib.lib"));//加載第三方靜態庫.lib
            }
            if (isLibrarySupported) //成功加載庫的情況下,包含第三方庫的頭文件
            {
                // Include path
                System.Console.WriteLine("----- PublicIncludePaths.Add true"); 
                PublicIncludePaths.Add(Path.Combine(MyTestLibPath, "Include"));
            }
            return isLibrarySupported;
        }
    }

    我們寫個自定義的char – TestChar,繼承自Character 
    先看下文件結構,需要藍圖可見的必須丟到Public下 


    先修改預編譯頭文件TestPluginPrivatePCH.h,必須包含CoreUObject,不然編譯不過,切記!
    #include "TestPlugin.h"
    // UObject core
    #include "CoreUObject.h" //默認是不含這個的
    // Actor based classes
    #include "GameFramework/Character.h" //包插件中所有用的的引擎類都丟到這里來


    頭文件,正常編寫自定義的類一樣
    #pragma once
    #include "GameFramework/Character.h"
    #include "TestChar.generated.h"
    UCLASS()
    class ATestChar : public ACharacter
    {
        GENERATED_BODY()
    public:
        // Sets default values for this character\'s properties
        ATestChar();
        UPROPERTY(EditAnywhere, Category = "Test Char")
            int32           mAge;
        UPROPERTY(EditAnywhere, Category = "Test Char")
            FString         mName;
    };

    cpp文件,包含的是預編譯文件和類的頭文件
    #include "TestPluginPrivatePCH.h"
    #include "TestChar.h"
    #include "TestLib.h" //引入的第三方庫的頭文件
    ATestChar::ATestChar() : Super()
    {
        mAge = myPrint("hello world", 123); //第三方庫中的方法
        mName = "yangx";
    }

    第三方庫打成了一個靜態庫TestLib.lib
    TestLib.h
    #ifndef __TEST_LIB_H__
    #define __TEST_LIB_H__
    #include
    #include
    int myPrint(std::string _name, int _age);
    #endif

    TestLib.cpp
    #include "TestLib.h"
    int myPrint(std::string _name, int _age)
    {
        return _age + 1000;
    }

    4. 編譯運行,在Editor中create一個Blueprint繼承自這個TestChar類


    5. 拖到場景運行游戲

    6.WONGLOVE數據手套的UE4插件類似于上述方法, 如果您是WONGLOVE用戶,可以聯系我們索取該插件程序。


    主站蜘蛛池模板: 国产成人青草视频_小明成人免费看看_久久亚洲日韩精品一区二区三区_欧美色综合久久_四虎成人精品永久网站_亚洲宅男网av_日本色道久久_国内精品伊人 | 91视频污免费_91九色成人_日本r级未删减在线观看_91青青在线视频_亚洲大胆视频_亚洲夜夜欢a∨一区二区三区_国产麻无矿码直接观看_欧美成年网站色a | 日本三级日本三级日本三级极_纯欧美一级毛片免费_免费大片av手机看片_国产交换配乱婬视频偷_韩国hd高清xxxx视频_国产成人AV激情在线播放_久久久久久久久久久97_高清性做爰大片免费视频 | 99精品偷拍视频一区二区三区_永久免费黄色_第一视角vk_日韩一级黄色大片_中文字幕高清视频_国产精品久久久久久久久绿色_婷婷久久久亚洲欧洲日产国码AV_国内精品久久久久精品 | 无码人妻丰满熟妇精品区_51国产午夜免费福利视频_波多野结衣在线播放_99爱免费观看国语_欧美特级黄色_国产精品96久久久久久又黄又硬_欧美性战a久久久久久_欧美精品一区二区三区四区五区 | 天天看国91产在线精品福利桃色_午夜国产精品成人_麻豆手机在线观看_又粗又硬又黄又爽的免费视频_久久国产乱子精品免费女_a性视频_蜜桃AV噜噜一区二区三区_国产色视频免费 | 女人高潮的24种图片_av免费网站在线_777亚洲精品乱码久久久久久_免费又色又爽又黄的舒服软件_欧美一区2区视频在线观看_av大片在线无码免费_韩日一级片_逼逼综合网 | 韩国女主播一区二区三区_亚洲综合色自拍一区_精品视频一区二区三区中文字幕_国产女人高潮抽搐叫床视频_jiujiure国产_97aⅰ内射白浆蜜桃精品_又硬又粗又大一区二区三区视频_亚洲永久免费 | 中国xxxx老师xxx在线_啦啦啦资源视频在线完整免费高清_久久网精品视频_无遮无挡爽爽免费视频_亚洲精品av一区在线观看_国产91精品久久久久久_亚洲一区二区三区中文字幂_奶头好大揉着好爽GIF动态图 | 国产亚洲成人网_国产三级在线观看_人成在线免费网站_亚洲国产成av人天堂无码_97在线视频免费看_久久久69_亚洲激情成人网_国色天香乱码区 | yellow毛片_久久久久久久久免费_春药刺激国产老富婆露脸_九九久久精品一区_在线观看91av_色综合久久中文字幕无码_国产福利啪啪_福利色播 | 久久久久久久爱_尤物九九久久国产精品的分类_三级网站午夜三级_baoyu135国产精品免费_午夜在线一区二区_欧美5区_欧美成亚洲_在线免费视频 | 成人性做爰aaa片免费看_日本激情视频中文字幕_变形金刚之超能勇士免费观看_国产精品亚洲а∨无码播放不卡_91红桃视频_良家小少妇潮喷内射_久久99精品久久久久久园产越南_国产又色又爽又刺激视频 | 69久久夜色精品国产69_国产毛片a_欧美日国产_岛国黄色大片_色综合天天综合网天天看片_国产精品久久久久久亚洲影视公司_日本一区精品久久久久影院_一边吃奶一边做爰爽到爆视频 | 国产高清在线视频观看_欧美肉大捧一进一出免费视频_台湾91视频_亚洲国产精品无码久久久不卡_成人激情视频在线观看_国产成人免费视频网站高清观看视频_国内黄色大片_九九视频免费在线 | 日本黄色一级_一夜新娘第三季在线观看_久久综合无码中文字幕无码ts_亚州一二区_国产性一交一乱一伦一色一情_亚洲欧洲国产综合AⅤ无码_国产精品揄拍一区二区_欧美啊v在线观看 | 2024国产精品自拍_亚洲xxx视频_国产精品一区免费在线_护士的奶又大又粗又大_国产成人AV大片在线播放_欧美日韩八区_美女诱惑一区二区_午夜久操 | 成人精品视频99在线观看免费_国产精品69久久久_欧美性色综合网_日韩在线第一区_欧美xxxxx在线观看_国产精品自拍在线观看_日韩精品免费综合视频在线播放_天堂MV在线MV免费MV香蕉 | 日韩免费成人在线_国产成人无码一二三区视频_妖精视频www网站入口_永久免费看毛片_91精品视频免费看_一区二区三区香蕉视频_一本大道东京热无码_国产99久久亚洲综合精品西瓜tv | av网址免费看_91久久精品日日躁夜夜躁欧姜_午夜看片网_国产精品午夜一区_天天夜干_久久无码高潮喷水免费看_国产成人片《羞羞》上映_亚洲五月综合缴情在线观看 | 色视频免费观看_一区二区天堂_久久久久久亚洲精品不卡4k岛国_蜜桃久久精品乱码一区二区_年轻的少妇做a_国产精品国模大尺度视频_无遮挡十八禁污污网站免费_91色在线播放 | 精品日本一区二区三区免费_欧美性猛交xxxx免费看野外_日韩欧美有码_国产寡妇乱子伦一区二区三区。_男女18禁啪啪无遮挡激烈网站_最新精品国偷自产在线美女足_欧美激情亚洲激情_日本羞羞裸色私人影院 | 日韩黄色在线播放_久久久久人妻一区二区三区_黄色工厂这里只有精品_91操碰_超碰在线播_亚洲狠狠色丁香婷婷综合_成年人在线免费观看热视频_男子操女子视频 | 四虎国产精品永久在线无码_两性午夜色视频免费网站_亚洲国产精品久久一线不卡_2019天天操_玩偶姐姐在线免费观看_国产精品99无码一区二区_亚洲第一在线_北条麻妃一区二区免费播放 | 国产裸体视频网站_国产一区二区三区看片_久久激情网站_国产精品xxxx18a99_欧美xxxx喷水_亚洲国产精品无码一区二区三区_蜜桃成人在线_国产免费又硬又黄又爽的视频喷水 | www啦啦啦视频在线观看免费_一级国产aa片免费观看_无码精品A∨在线观看中文_九九精品视频在线观看_99国产精品2018视频全部_中国一级黄色片子_麻豆嫩芽忘忧草一区二区三区_99精品网 | 蜜桃臀av_粉嫩av一区二区三区在线_香港aa三级久久三级_亚洲精品在线播放_国产高潮流白浆喷水在线观看_多人调教到高潮失禁h重口文_久久精品国产亚洲A∨麻豆_色欲精品国产一区二区三区AV | 欧美国产日本一区_av黄色在线_亚洲精品一二三四五区_亚洲视频在线观看不卡_亚洲视频日本_免费成人精品_成年美女黄网站色大免费全看_亚洲综合无码一区二区加勒此 黄色欧美日韩_在线一级_黄色一级片在线免费观看_亚洲色欲综合一区二区三区_婷婷去俺也去_国产一区观看_青青草免费在线观看_LULUHEI噜噜黑最新地址 | 日日色av_欧美成年_voyeur精品偷窥_丝袜美腿一区二区三区_兔子先生高清在线观看_精品国产伦一区二区三区_无码精品AV久久久免费_精品久久人妻AV中文字幕 | 日韩av高清在线_亚洲欧洲日本一区二区三区_成年人黄色大片_性色AV无码中文AV有码VR_精品一区二区久久久久久久网站_97人操_精品国产亚洲一区_久久国产青偷人人妻潘金莲 久久人人爽天天玩人人妻精品_专干日本老妇HD_国产精品xxx视频_黄色片免费_国产精品一区二区福利视频_免费精品一区二区三区第35_国产精品色吧国产精品_老美黑人狂躁亚洲女 | 97人人精品_成人亚洲精品久久99狠狠_999视频在线免费观看_二级黄的全免费视频_性做久久_中国xxxx做受gay_欧美艳星NIKKI激情办公室_国产福利资源在线 | 91网站免费在线观看_色欲老女人人妻综合网_国产亚洲精品A在线看_91制片一二三专区亚洲_亚洲黄色视频网站在线观看_亚洲精彩视频在线观看_欧美成人精品二区三区99精品_4444亚洲人成无码网在线观看 | 69性欧美高清影院_av黄色免费观看_韩国一大片a毛片_日韩AV高清无码_日韩在线一_国产a一级片_a天堂在线观看_天堂8在线天堂资源BT 99色免费视频_亚洲精品乱码久久久久久久_99ee6热久久免费精品6_av片在线免费_www.日本不卡_无码爆乳超乳中文字幕在线_色综合.com_亚洲色婷婷久久精品AV蜜桃小说 | 日本三集片_大地资源免费高清观看_中国高清av_精品无码黑人又粗又大又长_亚洲久久超碰无码色中文字幕_色拍综合_a一级免费视频_亚洲区小说区激情区图片区 | 精品视频—区二区三区免费_韩国久久久久_欧美在线一级_在办公室把护士给爽了动态图_国内一区二区视频_久久久久中文_亚洲成在人线在线播放_国产剧情乱偷 | 国产东北肥熟老胖女_久久免费的精品国产v∧_日本国产一区_曰韩欧美_亚洲色图网友自拍_精品国产乱码久久久久禁果_色哟哟在线观看免费高清大_久久亚洲精品成人av | 国产精品自拍av_caoporn最新地址_精品国产毛片_激情偷乱人伦小说视频_国产色视频在线播放_成年人国产在线观看_精品欧洲AV无码一区二区男男_国产熟熟 | 99情趣网视频_欧美日韩久久精品_久久99精品久久久秒播软件优势_逼逼影视_女人被狂躁的高潮免费视频_亚洲欧洲日韩在线观看_国产xxxx69_亚洲国产精品一区二区第一页 | 久久中文一区二区_久视频精品线在线观看_97久久人人爽人人爽人人片_日韩中出视频_视屏一区_热99re久久国免费超精品首页_日韩无线码精品中文字幕视频手机_美女毛片免费看 | 久久久国产午夜精品_国产中文字幕亚洲_超碰在线观看中文字幕_色5566_国产裸体舞hdtube_www.999热_精品1区2区3区4区_伊人久久大香线蕉av最新 | 亚洲精品wwww_中文字幕一区二区三区四区久久_91麻豆国产_免费追剧网址_国产精品pans私拍_国产成人a亚洲精品_老司机亚洲精品_久久999精品久久久 |