青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

的筆記

隨時(shí)隨地編輯

UE4扯淡大雜燴第一季

收集2018-2-10前的,新的在新帖里


周末,是扯淡的日子,正如詩里扯的淡:
你是一樹一樹的花開,
是燕在樑間呢喃,
你是愛、是暖、是希望,
你是人間的四月天!


最新劇情:UE4扯淡大雜燴第二季


First Egg

APawn.IsLocallyControlled 和APawn.IsPlayerControlled 完全就是扯淡。不能準(zhǔn)確表示單機(jī)、客戶端、獨(dú)立服務(wù)器、監(jiān)聽服務(wù)器下的Pawn狀態(tài)。

Game動態(tài)更新csv表格

官方版本UDataTable只能在Editor中實(shí)例化,Game中都被宏定義禁用了。如果要搞,將對應(yīng)的邏輯相關(guān)的代碼文件遷移到客戶端就可以用了,只有三五個(gè)文件。記之。

屬性與RPC的網(wǎng)絡(luò)包處理過于復(fù)雜

實(shí)現(xiàn)部分不是一般的復(fù)雜,什么每個(gè)包里解析出object和guid,然后分發(fā)消息。每個(gè)UObject都可能是一個(gè)網(wǎng)絡(luò)包里的object。Guid大概從自然數(shù)簡單遞增,每個(gè)對象在客戶端和服務(wù)端都有個(gè)映射表。還有個(gè)channel,不是channel V,混在里面濫竽充數(shù)。那UDP還要處理重發(fā)來著。那Replicator不是SG中的小蟲子,是用來處理object的消息分發(fā)的代理。那ip connection和net driver,在十幾個(gè)對象里穿梭把別人都不放在眼里。

扯個(gè)SceneCapturer的淡

這個(gè)淡可以一扯是因?yàn)橛?份重名的類和文件名字(4.11)
  • Engine\Plugins\Experimental\StereoPanorama\Source\StereoPanorama\Private\SceneCapturer.h
  • Engine\Source\Runtime\Engine\Classes\Engine\SceneCapture.h
  • 好了,扯完了淡,要記得實(shí)驗(yàn)庫中的SceneCaputre的Acotr和Component與Engine庫中有重名,不要混淆了

    扯個(gè)Gameplay Tags的蛋

    USING GAMEPLAY TAGS TO LABEL AND ORGANIZE YOUR CONTENT IN UE4
    使用游戲性標(biāo)記在 UE4 中標(biāo)記和整理內(nèi)容
    Missing:扯‎蛋

    你們要的蛋蛋來了:

    首先在Gameplay Ablitities開啟后,有個(gè)Cue編輯窗。在這里可以可以增加tag。例如增加“GameplayCue.Damage.Type1”和“GameplayCue.Damage.Type2”

    然后,找2個(gè)cue,例如Blueprint'/Game/Blueprints/GameplayCues/Cue_HitImpact.Cue_HitImpact',將它們的tags分別設(shè)為上面的1型和2型

    于是乎,在UGameplayEffect的成員FGameplayEffectCue.GameplayCueTags對應(yīng)的BP窗口上就可以選中這2個(gè)tag了,多選就多個(gè)效果。

    其配置文件路徑:GameAbility\Config\DefaultGameplayTags.ini


    ACharacter構(gòu)造時(shí)掛接的子對象由于重構(gòu)改名后造成ACharacterBP中被不正常清空的BUG

    ACharacter的構(gòu)造掛了這樣一個(gè)成員:
    AttributeSet = CreateDefaultSubobject(ucustomattributeset)(TEXT("AttributeSet")); 然后將UCustomAttributeSet重新?lián)Q個(gè)名字
    于是只要開始Play就會發(fā)現(xiàn)AttributeSet被清空了,版本4.15.1。反復(fù)清空緩存和編譯BP都無法解決,懷疑某些符號在C++重命名后在BP中的布局已經(jīng)紊亂了,初始化的時(shí)候錯(cuò)誤的被越界覆蓋或清除了

    解決:
    將CharacterBP先reparent到一個(gè)更底層的類,然后再reparent回來還原。

    扯一只瑪雅2016的蛋

    Maya2016按照官方的說明安裝Animation and Rigging Tools Installation,啟動Maya木有彈出Browser窗口。
    后來發(fā)現(xiàn),這個(gè)淡本身就是扯淡,Maya LT并不支持Python。從而又有下一個(gè)蛋可以扯了:maya vs maya-LT。

    Maya vs. Maya LT

    Maya vs. Maya LT
    LT是個(gè)縮水版。

    NOT POT Texture

  • Never streaming
  • No Mipmap

  • 扯個(gè)IN/OUT的淡

    ApplyGameplayEffectSpecToSelf(OUT FGameplayEffectSpec& GameplayEffect, FPredictionKey PredictionKey = FPredictionKey());


    UnrealEngine\Engine\Source\Runtime\Core\Public\Windows\WindowsSystemIncludes.h
    #ifndef OUT
    #define OUT
    #endif
    #ifndef IN
    #define IN
    #endif


    菩提本無樹,庸人自擾之。


    搞個(gè)USTRUCT(BlueprintType)新策略限制在BP中使用某些方法

    BP中一旦亂用起來,其實(shí)也是很可怕的。于是為了彰顯千年的功績,硬擼個(gè)新區(qū)讓它橫空出世以千年大計(jì)的牌坊插在流芳萬世的信息鎖國的遺臭上,隨心所欲不怕矩。
    USTRUCT(BlueprintType)
    structFProjectileEffectContainer{
    GENERATED_USTRUCT_BODY()
    UPROPERTY(EditAnywhere)
    TArray Effects;
    TArray ApplyEffect(AActor* Target);
    }
    

    USTRUCT中的方法不能聲明為BP方法,這樣就不能再BP中濫用了。然后再擼個(gè)UBlueprintFunctionLibrary來訪問這些USTRUCT中的方法,在BP中隨心所欲的玩吧。

    來扯一只Camera自動激活的蛋

    場景中的CameraActor的屬性中有一個(gè)Auto Player Activation,可以指定一個(gè)Player,自動給其激活camera。曾經(jīng)有一只碼農(nóng)嫌的蛋痛于是在場景里放了2個(gè)這個(gè)CameraActor,都指定自動激活給Player0,于是開始游戲后Camera只是激活到了后來加入場景的CameraActor,這樣這項(xiàng)很重要的工作這只碼農(nóng)有一半的時(shí)間做了無用功,只因?yàn)榧恿?個(gè)CameraActor。
    總結(jié)下,考慮一張Level,里面一只默認(rèn)的ThirdPerson Character,當(dāng)然默認(rèn)是帶一個(gè)CameraComponent的,另外Level里還放一只CameraActor。則Level激活Camera優(yōu)先級順序如下
  • 優(yōu)先激活指定了Auto Player Activation的CameraActor。這個(gè)時(shí)候Character上的CameraComponent指定激活與否效果一樣
  • 如果CameraActor沒有指定Auto Player Activation,則其在Level中就是只廢物,可以無視掉。在這個(gè)情況下,則:
  • 優(yōu)先激活Character上帶自動激活屬性(Auto Activation)的CameraComponent,例如Character上有多個(gè)CameraComponent,激活其中帶自動激活屬性的。如果多個(gè)Component都帶自動激活屬性,那么就XX了。
  • 如果場景中既沒有帶指定Player的CameraActor,或根本就沒有CameraActor,然后所有的ActorComponent都不帶自動激活屬性,則引擎將Camera的坐標(biāo)指定為Character的世界坐標(biāo)


  • 扯完了Camera的蛋,順便扯扯如何切這只蛋:
  • 用Player Controller的Set View Target with Blend指定Camera
  • New View Target可以指定任意Actor,如果目標(biāo)是CameraActor,則其上的PP屬性等都可以繼承過來,如果只是簡單Actor,則只去這個(gè)Actor的變換矩陣。
  • 如果要切換回Character,New View Target指定為自己,例如Get Player Character


  • 不扯蛋就遺忘

    BP的For有2個(gè)參數(shù):First ,Last。其基于人類友好的方式計(jì)數(shù),也就是計(jì)算序列為:First, First+1 ... Last。不同于C。

    扯扯回調(diào)的蛋

  • DECLARE_DELEGATE( DelegateName )
  • DECLARE_MULTICAST_DELEGATE( DelegateName )
  • DECLARE_EVENT( OwningType, EventName )

  • USTRUCT的構(gòu)造的蛋

    USTRUCT默認(rèn)可以不寫構(gòu)造函數(shù),但是如果寫了帶參數(shù)的構(gòu)造函數(shù),則蛋來了:必須補(bǔ)上那個(gè)不帶參數(shù)的默認(rèn)構(gòu)造函數(shù)。例如下面代碼塊被注釋后就無法通過UBT編譯:

    USTRUCT(BlueprintType)
    struct FSortRecordItem
    {
    // GENERATED_USTRUCT_BODY()

    // FSortRecordItem()
    // {
    // }

    FSortRecordItem(int32 a)
    {
    }
    

    };


    一只friend function的蛋

    UCLASS(MinimalAPI)
    classULandscapeSplinesComponent:publicUPrimitiveComponent
    {
    // many friendsfriendclassFLandscapeToolSplines;
    friendclassFLandscapeSplinesSceneProxy;
    friendclassULandscapeSplineControlPoint;
    friendclassULandscapeSplineSegment;
    #ifWITH_EDITOR
    // TODO - move this out of ULandscapeInfo
    friend bool ULandscapeInfo::ApplySplinesInternal(boolbOnlySelected,ALandscapeProxy*Landscape);
    #endif

    Transform的蛋蛋

    Actor和Component取Transform是不同的:
  • Actor用GetTransform, Component用GetComponentTransform

  • Vector與Position進(jìn)行Transform也是不同的,很容易混淆?;蛟S再扯一萬年的蛋,還是會誤用吧:
  • Vector用TransformVector,Position用TransformPosition

  • 模塊引用的蛋蛋

    假設(shè)主工程交模塊MyProject,則底層宏會定義一個(gè)MyProject_API的模塊導(dǎo)出宏。
    這個(gè)時(shí)候你另外定義了一個(gè)模塊用于實(shí)現(xiàn)某個(gè)功能,例如CustomDetail。如果在它里面要引用MyProject的class,則只需:
    1,CustomDetail工程引入MyPrject作為依賴:PrivateDependencyModuleNames.AddRange
    2,MyPrject的class加裝MyProject_API修飾。

    這種扯淡的事也能碰到!

    在Editor里Play后,全屏幕黑。剛build完lighting,以為是光照參數(shù)造成的bug。折騰之,我去,不是。偶然發(fā)現(xiàn)竟然是相當(dāng)于相機(jī)被放在了Camera的Actor Mesh中間,被一個(gè)立方mesh包圍了,相當(dāng)于跑到這只mesh內(nèi)部渲染了。
    只好修復(fù)引擎了。

    升級到4.15編譯Android的蛋

    gc++崩潰,并找到提示:
    LogPlayLevel: UnrealBuildTool: This application has requested the Runtime to terminate it in an unusual way.
    LogPlayLevel: UnrealBuildTool: Please contact the application's support team for more information.
    Expression: DeclKind != Decl::LinkageSpec && "Should not perform lookups into linkage specs!"

    網(wǎng)上找的解決方式:
    更新AndroidWroks。
    c:\nvpack\Chooser.exe
    https://answers.unrealengine.com/questions/578929/launch-and-package-fail-for-c-android-projects-in.html
    扯淡的是,這并不能解決問題。然后嘗試直接設(shè)置ndk目錄:在配置,android sdk中設(shè)置ndk為最新的,發(fā)現(xiàn)編譯C++后不會崩潰,但是UBT又報(bào)錯(cuò)。
    所以ndk更新是可以解決C++編譯,但是根源在于UE4.15沒有正確設(shè)置到最新的NDK.

    安裝最新的AndroidWorks:
    D:\Program Files (x86)\Epic Games\UE_4.15\Engine\Extras\AndroidWorks\Win64\CodeWorksforAndroid-1R5-windows.exe
    安裝后從之前的1R1升級到了1R5了,然后需要網(wǎng)絡(luò)更新了。

    Invalid-or-unsupported-command---UE4.15與NDK android-24的蛋

    ====2017/4/26 14:05:28====PREPARING NATIVE CODE=================================================================
    UEDeployAndroid.RequiresOBB: APK contains data.
    UEDeployAndroid.GenerateManifest: Fixing minSdkVersion; NDK level above 19 requires minSdkVersion of 21 (arch=armv7)
    UEDeployAndroid.UpdateProjectProperties:
    ====2017/4/26 14:05:28====UPDATING BUILD CONFIGURATION FILES====================================================
    **************************************************************************
    The "android" command is deprecated.
    For manual SDK, AVD, and project management, please use Android Studio.
    For command-line tools, use tools\bin\sdkmanager.bat
    and tools\bin\avdmanager.bat
    **************************************************************************
    Invalid or unsupported command "--silent update lib-project --path JavaLibs/downloader_library --target android-24"
    
    破蛋之策在這里:
    https://forums.unrealengine.com/showthread.php?142035-Invalid-or-unsupported-command
    簡單來說就是將在Project Setting里NDK的版本填為"Android-19"
    其實(shí)問題只是解決了部分。最終解決方式:
    在AndroidWorks中選中1R4,卸載sdk和ndk然后重新安裝。

    Building Lighting的蛋

    人生波譎云詭,一般人碰不到的事總能碰到,現(xiàn)在Building Lighting總是失敗,報(bào)錯(cuò):
    Lighting build failed. Swarm failed to kick off
    Error, fatal in BeginJobSpecification
    發(fā)現(xiàn)那個(gè)Build Lighting的關(guān)聯(lián)邏輯:UE4Editor-UnrealEd.dll!FStaticLightingSystem::BeginLightmassProcess
    其實(shí)無甚鳥用。之前google有人提到:重新編譯UnrealLightmass。之前想當(dāng)然的重新編譯solution以為UnrealLightmass也是重新編譯了,沒有效果也就不在意,畢竟google上各種答案混雜,偶然可以碰對。
    今天選中UnrealLightmass工程后編譯,build lighting竟然好了!好吧,build solution是有些工程是可以默認(rèn)不參與編譯的。微軟一向如此,總是隱式的干一堆你并不存完全總是意料之中的事,微軟口碑爛了,這黑鍋都沒興趣扔它了。

    Beam Particle的蛋

    需要在Particle的Source和Target中設(shè)置Methord為User Set,不然在運(yùn)行時(shí)設(shè)置位置會無效。
    設(shè)置起源與目標(biāo)
    SetBeamSourcePoint/SetBeamTargetPoint

    Sequence與Delay

    Sequence中的邏輯是“順序并行”執(zhí)行的,并不是順序串行執(zhí)行,不明白的自己去想!

    正確使用物理效果的姿勢

    首先,扯點(diǎn)淡,不然后面說的都是扯淡: Mesh對象要生成collision,否則物理是無效的。

    對于地面:只需要開啟gravity。
    對于地上的物體,需要開啟:模擬物理,重力。如果要與其他物理碰撞,要在編輯器里設(shè)置collision preset類型,在代碼或bp里對應(yīng)UPrimitiveComponent.SetCollisionResponseToAllChannels 。

    創(chuàng)建Spline遇到的蛋蛋

    Add Spline Component默認(rèn)情況下會添加2個(gè)Point,這個(gè)其實(shí)也不是很扯蛋,只是經(jīng)常容易忘了。

    GooglePlay的蛋

    本是Google的蛋,不關(guān)Epic。總之,google之。24H后,加上googlegroup郵箱,刷新后幾分鐘beta show就出來了。只是中間在切了一下beta using googlegroup并加入googlegroup,不知道有沒有關(guān)系。

    ---不知道說的什么

    來個(gè)Plugins中模塊的蛋

    定義好模塊編譯神馬的都OK了,啟動時(shí)卻報(bào)錯(cuò),找不到這個(gè)模塊。問題出在uproject文件中沒有加入這個(gè)模塊。

    蛋:不要混淆Editor和Game的模塊目錄

    這一蛋是混淆了Editor和Game的模塊目錄,在MyGame.Build.cs中用PrivateDependencyModuleNames引入了GameplayAbilitiesEditor。于是折騰了好久。

    DebugGame Editor的蛋

    假設(shè)在DebugGame Editor配置下開發(fā),一起都很好。偶然一次你又雙擊uproject文件啟動編輯器了,會發(fā)現(xiàn)修改了C++邏輯似乎不對。那是因?yàn)镈ebugGame Editor生成的編輯器并非Development Editor。

    升級后ACharacter莫名其妙問題

    //AbilitySystemComponent莫名其妙變空指針,調(diào)試發(fā)現(xiàn)初始化后某個(gè)地方導(dǎo)致變空 //具體細(xì)節(jié)不明,懷疑是版本升級后所致,之前也碰到過幾次版本升級造成莫名其妙的問題 //在BP里將先reparent到Character,再reparent回BaseCharacter就好了

    <占位標(biāo)題>

    <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
  • <占位項(xiàng)1>
  • <占位項(xiàng)2>

  • UE4無法加載dll

    如果某個(gè)插件在.uproject中沒有配置,會提醒無法加載這個(gè)模塊的dll

    posted on 2017-01-15 00:04 的筆記 閱讀(3368) 評論(0)  編輯 收藏 引用

    青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久婷婷久久一区二区三区| 久久这里只精品最新地址| 欧美性色综合| 欧美日本免费| 国产精品久久久久久久7电影| 欧美日韩视频免费播放| 欧美日韩一区二区免费视频| 国产精品进线69影院| 欧美高清在线视频| 狠久久av成人天堂| 在线观看视频一区二区| 亚洲人成久久| 一本色道久久88综合亚洲精品ⅰ| 亚洲一区免费| 久久伊人亚洲| 亚洲精品在线三区| 亚洲天堂av电影| 美女福利精品视频| 国产精品劲爆视频| 亚洲国产成人不卡| 亚洲欧美日韩区| 牛人盗摄一区二区三区视频| 亚洲免费成人| 久久久久久久久久久久久久一区| 欧美激情精品久久久久久黑人| 国产精品青草综合久久久久99| 国产在线高清精品| 亚洲一区三区电影在线观看| 玖玖在线精品| 亚洲男人的天堂在线aⅴ视频| 久久综合色婷婷| 国产精品青草综合久久久久99| 亚洲国产精品v| 久久精品国产亚洲精品| 亚洲看片一区| 欧美激情亚洲一区| 一区在线免费观看| 欧美一级在线视频| 亚洲精品一区在线| 欧美精品日韩一区| 亚洲国产专区校园欧美| 久久激情综合网| 亚洲天堂免费在线观看视频| 欧美.日韩.国产.一区.二区| 国产日韩欧美一区在线| 亚洲尤物影院| 日韩亚洲精品电影| 欧美国产日韩精品免费观看| 亚洲成色最大综合在线| 久久精品一本| 欧美一区二区三区久久精品茉莉花 | 亚洲专区一区二区三区| 亚洲激情视频| 亚洲欧美韩国| 国产精品视频男人的天堂| 正在播放亚洲| 日韩午夜av| 欧美日韩一区二区三| 99精品欧美一区二区蜜桃免费| 欧美电影美腿模特1979在线看| 久久久国产亚洲精品| 韩国av一区二区三区在线观看| 久久久久久免费| 亚洲国产精品va在线看黑人动漫 | 日韩午夜激情电影| 欧美激情视频一区二区三区在线播放 | 久久天天躁夜夜躁狠狠躁2022| 国产乱码精品一区二区三区av | 欧美黄色小视频| 久久青草福利网站| 亚洲国产精品成人综合| 欧美福利视频网站| 欧美成人一区二区三区| 99re8这里有精品热视频免费| 亚洲国产裸拍裸体视频在线观看乱了| 美女国产一区| 亚洲小说春色综合另类电影| 亚洲香蕉伊综合在人在线视看| 国产精品一级| 久久最新视频| 欧美紧缚bdsm在线视频| 亚洲自拍都市欧美小说| 亚洲欧美偷拍卡通变态| 激情欧美一区二区| 最新成人av网站| 国产精品福利在线观看| 久久久久成人精品免费播放动漫| 美女尤物久久精品| 亚洲影音先锋| 久久乐国产精品| 中日韩男男gay无套| 销魂美女一区二区三区视频在线| 在线看片成人| 一区二区三区免费在线观看| 国产人成一区二区三区影院| 免费观看不卡av| 国产精品成人在线观看| 噜噜噜91成人网| 欧美日韩国产综合视频在线观看中文| 久久www成人_看片免费不卡| 久久人91精品久久久久久不卡| 在线视频欧美一区| 久久漫画官网| 欧美亚洲三区| 欧美日韩亚洲综合在线| 美女视频黄a大片欧美| 欧美系列精品| 欧美韩日精品| 韩国av一区二区三区四区| 99伊人成综合| 亚洲日本在线观看| 久久久97精品| 欧美一区二区视频观看视频| 欧美sm视频| 久久久高清一区二区三区| 欧美日本不卡| 欧美黄色免费| 久久久久久久久岛国免费| 国产精品欧美精品| 亚洲国产美国国产综合一区二区| 国产精品久久午夜| 日韩午夜av在线| 亚洲欧洲一区二区在线观看| 欧美一区二区女人| 性高湖久久久久久久久| 欧美日韩国产专区| 亚洲精品免费一二三区| 亚洲国产成人久久综合一区| 欧美一区二区三区四区高清| 亚洲欧美日本日韩| 欧美日韩在线一区| 亚洲毛片av| 亚洲免费观看高清完整版在线观看熊| 久久久久久97三级| 女主播福利一区| 永久域名在线精品| 久久精品国产亚洲a| 久久久久免费| 一区二区三区在线看| 欧美一区二区三区四区视频| 欧美专区日韩专区| 国产日产高清欧美一区二区三区| 亚洲在线观看免费| 久久精品123| 国内成人精品一区| 久久免费视频观看| 亚洲高清久久久| aⅴ色国产欧美| 国产精品www994| 亚洲欧美日韩久久精品| 久久久www成人免费毛片麻豆| 狠狠色噜噜狠狠色综合久 | 亚洲二区在线视频| 日韩视频在线一区| 国产精品v欧美精品v日韩| 午夜精品视频在线观看一区二区| 久久国产99| 亚洲电影免费在线观看| 欧美国产1区2区| 一本久久a久久精品亚洲| 午夜视频一区在线观看| 国内精品一区二区| 男女视频一区二区| 亚洲另类黄色| 久久久精品国产99久久精品芒果| 激情欧美一区| 欧美日韩中文字幕在线视频| 亚洲一级二级| 欧美r片在线| 亚洲永久免费视频| 一区二区亚洲欧洲国产日韩| 欧美精品电影| 欧美一级黄色网| 亚洲激情欧美| 久久全国免费视频| 一个色综合av| 一区二区三区在线免费视频| 男人插女人欧美| 亚洲精品国产精品国自产观看浪潮| 亚洲无线视频| 亚洲第一网站| 国产精品男女猛烈高潮激情| 久久精品中文字幕免费mv| 亚洲精品国产精品国自产观看| 久久av在线| 久久久亚洲国产美女国产盗摄| 欧美1区2区3区| 亚洲欧美日本日韩| 亚洲精品国产欧美| 久久麻豆一区二区| 亚洲女人天堂成人av在线| 亚洲国产免费| 国内激情久久| 国产日韩精品在线| 欧美日韩亚洲系列| 免费观看日韩av| 久久精品中文| 欧美伊人久久久久久午夜久久久久| 亚洲精品中文字幕女同| 亚洲第一精品影视|