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用戶,可以聯系我們索取該插件程序。


    主站蜘蛛池模板: 操大逼片_大地资源二在线观看官网_91爱在线观看_伊人春色影院_久草在线视频精品_久久久线视频_久久大香伊蕉在人线免费_a一级黄色片 | 福利社区一区二区_国产日韩精品一区二区在线观看播放_717影院理论午夜伦八戒_在线观看视频中文字幕_高清国产AV一区二区三区_视频二区精品中文字幕_久久夜夜躁天天躁背后的原因_99热国产在线中文 | 一级婬片a级中文字幕_久久久久久久国产a∨_久久艹精品视频_日本少妇高潮正在线播放_污草莓樱桃丝瓜秋葵榴莲黄瓜白狐_天堂在线观看av_欧美12一13sex性_最新亚洲一区 | 欧美劲爆婷婷五月久久_亚洲欧美自拍制服日韩一区_久久青草精品38国产_疯狂撞击丝袜人妻_福利一级片_日韩一区二区三区四区五区_最近2019年中文字幕_久久人人视频 | 永久黄软件免费观看_国产三级久久久久_欧美精品无码久久久潘金莲_成人一级大片_午夜免费福利片_亚洲综合一区国产精品_亚洲av日韩精品久久久久_哥也色视频 | 亚欧美无遮挡HD高清在线视频_日本一区二区免费在线播放_大肉大捧一进一出好爽视色大师_亚洲天堂福利视频_欧美成一区_国产CHINESEHDXXXX美女_97视频一二区_亚洲精品中字 | chinese猛男自慰gv网站_一级色毛片_国产成人久久精品激情_农村少妇好紧水多视频_亚洲美腿丝袜无码专区_免费看国产黄线在线观看_日韩精品一区二区三区九九_国产亚洲精品一区二555 | 成人aa片免费观看视频_91视频在线观看免费_国产成人无码午夜视频在线观看_国产欧美性_日韩在线一卡_国产91丝袜高跟系列_日韩av视屏_被公侵犯人妻一区二区三区 | 一级做a爰片性色毛片_波多野结衣与黑人AV_少妇仑乱A毛片无码_末发育女AV片一区二区_激情一二区_亚洲欭美日韩颜射在线二_动漫黄在线观看_成人毛片免费网站 | 青苹果乐园免费高清资源_日本美女中文字幕_91大神在线影院_久久婷婷六月_一级高清_无码人妻精品中文字幕_久久精品青青大伊人av_精品日韩卡1二2卡3卡4卡乱码 | 91视频污免费_91九色成人_日本r级未删减在线观看_91青青在线视频_亚洲大胆视频_亚洲夜夜欢a∨一区二区三区_国产麻无矿码直接观看_欧美成年网站色a | 一本大道久久精品_国产网红无码精品视频_国产强伦姧人妻毛片_国产香蕉一区二区在线网站_天天舔日日操_最近中文字幕一区_精品无码中文字幕不卡_亚洲欧美校园 | 在线观看免费国产小视频_国产黄色在线_久久久久久国产精品免费免费_成全视频在线观看免费高清在线观看_国产精品国产三级国产专播_FREEZEFRAME丰满老妇_国产强伦姧在线观看无码_国产性色强伦免费视频 | 日本iv一区二区三区_永久免费人禽AV在线观看_国产精品99久久久久久小说_久一视频在线_九九热一区二区_搡女人真爽免费视频大全软件_亚洲第一中文字幕在线_亚洲欧美成人一区二区 | 久久国内_亚洲免费人成视频观看_免费一区区三区四区_国产日本在线_精品国产一区二区三区2021_国产一级特黄毛片在线毛片_亚洲国产精品成人av_波多野结衣系列18部无码观看a | 国产精品国产精品偷麻豆_一级特黄视频_久久综合九色综合97婷婷_亚洲色图在线免费观看_极品少妇XXXX_久久国语_亚洲成人经典_久久99婷婷国产精品免费| 91精品国产高清91久久久久久_精品久久久久久久久久久久久_狠狠色综合7777夜色撩人_亚洲一二三不卡_欧美成年人影院_靠逼国产_僵尸启示录没删掉版免费观看_一二三中文字幕 | 国产成人片视频一区二区_91精彩视频_一二三区视频在线_亚洲区综合区小说区激情区_健身房啪啪的av片_国产色视频_亚洲高清国产精品_日韩精品欧美一区 | 亚洲AV女人的天堂在线观看_好大好硬好湿免费视频_欧美激情一区二区三区四区_老色鬼视频77777av_欧美成人精品一区二区三区在线观看_日韩午夜视频在线_女同性一区二区三区人了人一_一级伦奸视频 | 国产区亚洲区_黄色在线片_欧美日韩在线看片_欧美日韩偷拍一区_91av国产在线_成年人免费在线看惊悚片动作片_国产萌白酱喷水视频在线观看_少妇无力反抗慢慢张开双腿 | 免费日批视频_亚州中文_人人妻人人妻人人妻碰碰_精品产国自在拍_91视频在线观看网_亚洲精品无码成人A片蜜臀_zzzwww免费观看视频_亚洲无吗在线视频 | 九色91视频_无码人妻aⅴ一区二区三区_国产高清成人久久_久久国产精品成人免费网站_97天天干_无码少妇一区二区三区免费_免费费很色视频大片_久荜中文字幕 | 国产精品无码久久av嫩草_亚洲国产精品无码专区影院_乱中年女人伦视频国产_91久久精品亚洲中文字幕无码_欧美日韩色_日韩精品手机在线_我要看免费的黄色片_国产91在线精品 | 东京复仇者第三季天竺篇在线观看_99手机国产精品_国产网红福利视频一区二区_色wwwwww_五月香蕉网_天天操天天射综合_在线不卡中文_av观看免费 | ijzzijzzij亚洲大全_日本中文字幕免费观看_久久99爱视频_91精品无人成人www_欧美精品一国产成人综合久久_国产成人精品午夜福利Av免费_国产精品久久久午夜_亚洲一区视频在线 | 免费A级毛片无码免费视_日韩一中文字无码不卡_国产精品国语版在线观看_性一交一乱一做一爰_国产精品推荐制服丝袜_99久久网站_另类毛片_亚洲熟妇成人精品一区 | 一级黄色录像影片夫妻性生活影片_日本道色综合久久影院_国产精品xxx在线观看_激情婷婷_亚洲精品免费在线观看视频_亚洲三级性片_国产97视频人人做人人爱_懂色av色香蕉一区二区蜜桃 | 国产高清精品在线观看_亚洲欧美国产一区二区三区_欧美亚洲在线视频_人妻人人澡人人添人人爽_91剧场在线观看_欧洲乱码伦视频免费国产_撕开奶罩揉吮奶头免费视频_精品久久久久一区二区三区 | 91成人亚洲综合欧美日韩_亚洲福利精品视频_正在播放白领少妇第一次_亚洲人成网站观看在线播放_久久精品h_亚洲乱码日产精品bd在线观看_中文视频一区视频二区视频三区_人禽杂交18禁网站免费 | 国产一级毛片国语版_欧美网站大全在线观看_91精品亚洲影视在线观看_日本人妻人人人澡人人爽_国产原创AV在线播放不卡_在线观看爽视频_18禁强伦姧人妻又大又_亚洲综合久久av一区二区三区 | 中文字幕在线精品中文字幕导入_四虎精品国产永久在线观看_久久久久国产成人免费精品免费_三区四区乱码不卡_伊人色私人影院蜜桃va_欧美18免费视频_久久精品国产99久久丝袜_日本伊人久久 | 18禁黄久久久AAA片_国产视频一二三区_五月花成人网_免费福利在线观看_激情毛片_欧美另类videossexo高潮_色在线观看视频_第一次爱的人免费看电视 | 国产精品九九九九九_精品久久久久久久久久ntr影视_中文字幕一区av_狼人久久乐_无码乱码av天堂一区二区_免费观看成人毛片a片2008_日韩有码在线观看_伊人久久精品无码二区麻豆 | 99aiav日韩黄色在线_日本一区二区三区免费播放_匈牙利xxxx性hd极品_一级aa毛片_91大神唐先生22部在线观看_韩国三级毛片_久久黑人_国产xxxxx精品av青椒 | 日韩国产一区二区_国产77页_亚洲国产精品久久久久日本竹山梨_四虎影院wwww_日韩欧在线_欧美日韩激情一区二区_麻豆传媒影视_农村妇女野外交性高清片人山 | 国产白浆二区二区精品视频_一区二区三区片_国产伦精品一区二区三区网站_吃奶呻吟打开双腿做受在线视频_免费在线观看成人_裸体午夜一级视频_欧美日韩成人一区二区_亚洲tv影院 | 国产91久久婷婷一区二区_jizz日本在线_国产91在线亚洲_中文字幕人成乱码熟女_老司机精品视频在线_扒开老女人p大荫蒂视频_潘金莲一级淫片aaa_免费精品自在久久 | 太久ta19_免费看色网站_免费观看裸体美女网站_青春草91_国产欧美日韩在线视频_99热这里只有精品久久_国产精品自在拍在线播放_亚洲AV永久精品爱情岛论坛 | 伦理片一级二级片_永久黄网站色视频免费_麻豆国产手机福利看片_国内av免费_久久AV喷潮久久AV高清_亚洲AV无码成H在线观看_一级片免费观看_日本亚洲视频 | 日韩亚洲区字幕_国产精品99久久久精品_99久久久无码国产精品6_挺进朋友人妻的身体里_美女精品久久久_国产精品夜夜嗨_欧美久久久久_高潮流白浆潮喷在线播放视频 | 国产免费午夜_国产免费无码一区二区三区_成人a级黄色片_国产成人av综合亚洲_亚洲va欧美va人人爽午夜_久久久免费的成人性教育片_国产一区二区0_免费无遮挡www小视频 |