假日,是扯淡的日子,正如诗里扯的淡:
你是一樹一樹的花開,
是燕在樑間呢喃,
你是愛、是暖、是希望,
你是人間的四月天!
前情回顾:UE4扯淡大杂烩第一季
UnrealVS的蛋
UnrealVS 在 VS2015--Tools--Extension 中看不到了。
IDE里也看不到,不能使用
重新安装UnrealVS,提示:
"The extension is already installed to all applicable products'
如果装了微软的插件开发包,
卸载微软插件开发包,就正常了。
远离微软,珍爱生命!
在组件中打印调试屏幕信息
AHUD::OnShowDebugInfo.AddStatic(&UAbilitySystemComponent::OnShowDebugInfo);
只有动态广播代理才可以在BP中访问
非动态代理如果加UPROPERTY(BlueprintAssignable) 修饰编译报错:
error : Unrecognized type 'FCooldownEffectAppliedDelegate_Native' - type must be a UCLASS, USTRUCT or UENUM
DebugGame Editor 调试无法断点
删除生成的dll可以解决,例如直接删除目录 Binaries\Win64
HP Bar方案
AStrategyHUD.DrawHealthBar
<占位项2>
DebugGame 模式下频繁修改和编译某个文件出现编译卡死
这种情况,切换到Development Editor下,就好了。版本4.18。
自定义VS版本
方法一,在配置文件中设置:
/Config/DefaultEditorSettings.ini
[/Script/SourceCodeAccess.SourceCodeAccessSettings]
PreferredAccessor=VisualStudio2017
方法二:在编辑器中设置
乌龟GIT跳过代理
Settings -> Network -> Enable Proxy Server 选中后再
取消,再点应用
被河蟹的Grandle的蛋
新版4.20 android打包时,提示正在下载gradle-4.1-all.zip,然后就开在哪里了。
解决一:禁用grandle:Project Settings/Platforms/Android/APK Packaging/Enable Grandle Instead of Ant --> Flase
<占位项1>
<占位项2>
BP中节点没有执行连线
两种情形,节点没有执行连线,表现为和变量一样get
C++中,UFUNCTION是const
BP中,函数勾选了BlueprintPure
Opengles 3.1 skinning骨骼数限制75
如何是好
角色的骨骼可以比较多,但是skinning骨骼限制为75
https://docs.unrealengine.com/en-us/Platforms/Mobile/Meshes
https://forums.unrealengine.com/development-discussion/rendering/43185-character-s-skeletal-mesh-disappears-under-mobile-html-5-preview-rendering-level
Delicated Server启动的蛋
都好了后,服务器启动不起来。后来发现,要Package Projects生成WIN64的客户端后,将Server放在Binaries\Win64下
Joystick的淡
在编辑器模式下,如果用DS模式运行多个客户端,则只有第一个客户端的Joystick是正常的,其他都控制到第一个客户端去了。4.19和4.21都有这个BUG.
APlayerController.SetPawn重载问题
SetPawn重载后不被调用,百思不得其解
VS2017编译UE4.22的蛋蛋
每次都提示错误:
Setting up Unreal Engine 4 project files...
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1179,5):
error MSB3644: 未找到框架“.NETFramework,Version=v4.6.2”的引用程序集。若要解决此问题,请安装此框架版本的 SDK 或 Targeting Pack,
或将应用程序的目标重新指向已装有 SDK 或 Targeting Pack 的框架版本。请注意,将从全局程序集缓存(GAC)解析程序集,并将使用这些程序集替换引用程序集。
因此,程序集的目标可能未正确指向您所预期的框架。 [G:\Unreal\UE4.22\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
GenerateProjectFiles ERROR: UnrealBuildTool failed to compile.
解决
下载.Net 4.6.2,安装或已安装选择修复。
https://dotnet.microsoft.com/download/visual-studio-sdks
蛋:
已经安装了这个版本,但是还是提示错误。直接打开UnrealBuildTool.csproj工程,VS会提示没有这个版本,选择下载安装跳到微软的下载网站。
修复一下就好了。
SObjectWidget回收的蛋
蛋:
You may just be holding onto some slate pointers on an actor that don't get reset until the actor is Garbage Collected. You should avoid doing this, and instead reset those references when the actor is Destroyed.
[2019.09.08-07.22.53:693][667]LogOutputDevice: Error: Ensure condition failed: !IsGarbageCollecting() [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\UMG\Private\Slate\SObjectWidget.cpp] [Line: 43]
解决:
在Actor(例如PC,Character等)的BenginPlay中创建了UMG,需要在EndPlay的时候销毁掉。
VS2019升级到4.25出现“chcp 65001 >NUL”错误的蛋
蛋:
Creating makefile for YoursEditor (no existing makefile)
由于 Exception.ToString() 失败,因此无法打印异常字符串。
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(46,5):
error MSB3073: The command "chcp 65001 >NUL && "D:\Program Files\Epic Games\UE_4.25\Engine\Build\BatchFiles\Build.bat"
YoursEditor Win64 Development -Project="F:\UE\AbilitySystem\GameAbility_gitee\Yours.uproject" -WaitMutex -FromMsBuild" exited with code -532462766.
Done building project "Yours.vcxproj" -- FAILED.
解决:
找到工程下的中文路径,删改之。如果有git,则需要删除中文明后提交,避免本地git缓存中也包含了这个中文名。
扯蛋:
之前的4.19没有这个问题,到4.25就突然这样了。网上说是VS2019的问题,几个月了都不见修复
4.25新鲜出炉的Android蛋蛋
从4.25开始Android版本需要用新的方式安装,具体建发布声明中的“New: Android NDK 21b Update”
https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNotes/4_25/index.html
简单来说就是卸载就的NDK和CodeWork,然后安装AndroidStudio和新的NDK 21b
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>