这就是我想知道的.我根本不了解虚幻的引擎脚本..
我知道如何手动启用模糊,但如何在暂停时启用模糊?
我有一个带有RESUME和EXIT按钮的Widget蓝图.当我打开菜单时,背景应该模糊..现在可以通过按Tab键打开菜单(因为在编辑器中ESC退出测试模式......)
那么如何让它在暂停时变得模糊?
我正在尝试将facebook android sdk .aar文件转换为Java Library Project(并在虚幻引擎4中将其用作OnlineSubsystem).
我做了什么(根据这个答案 - Eclipse ANT项目中的AAR):
当我尝试构建应用程序时,我总是会遇到这些错误:
CardView声明(有错误)如下所示:
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
card_view:cardBackgroundColor="@android:color/transparent"
card_view:cardElevation="10dp">
Run Code Online (Sandbox Code Playgroud)
当我删除这两个属性时一切正常,但我想知道如何构建我的项目而不删除任何东西.
虚幻引擎使用ant构建系统来构建android应用程序,所以,请不要让我使用gradle.
谢谢.
我是UE4开发的新手,我遵循了Udemy的虚幻引擎开发课程.我在Actor上创建了一个新的Component,名为PositionReporter,标题为PositionReporter.h
#pragma once
#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "PositionReporter.generated.h"
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
class BUILDINGESCAPE_API UPositionReporter : public UActorComponent
{
GENERATED_BODY()
public:
// Sets default values for this component's properties
UPositionReporter();
protected:
// Called when the game starts
virtual void BeginPlay() override;
public:
// Called every frame
virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
};
Run Code Online (Sandbox Code Playgroud)
以及PositionReporter.cpp中的代码
#include "PositionReporter.h"
// Sets default values for this component's properties
UPositionReporter::UPositionReporter()
{
// Set this component to be initialized when the game …Run Code Online (Sandbox Code Playgroud) 我在虚幻引擎 4 中创建计时器时遇到问题。问题出在 GetWorldTimerManager 中。当我对此调用设置计时器时,我收到 E0070 不完整类型错误。通常这意味着我未能包含某些内容
void ACubeFarmBlock::HandleClicked()
{
if (!bIsPlanted)
{
bIsPlanted = true;
// Change material
BlockMesh->SetMaterial(0, OrangeMaterial);
// Determine when to harvest
GetWorldTimerManager().SetTimer(HarvestTimerHandle, &ACubeFarmBlock::Harvest, HarvestTime,false);
}
}
Run Code Online (Sandbox Code Playgroud)
HarvestTimerHandle 在标头中定义。以下是包含的列表。MyActor.h 包含一个定义 GetWorldTimerManager 的方法,因此我认为我已经包含了所有内容。值得注意的是,当我在线查找计时器函数时,我发现了几个站点,其中此设置计时器方法包含插入在 HarvestTimerHandle 参数和 &ACubeFormBlock::Harvest 参数之间的 this 参数。包括这一点并不会让我的错误消失。
#include "CubeFarmBlock.h"
#include "CubeFarmBlockGrid.h"
#include "UObject/ConstructorHelpers.h"
#include "Components/StaticMeshComponent.h"
#include "Engine/StaticMesh.h"
#include "Materials/MaterialInstance.h"
#include "MyActor.h"
Run Code Online (Sandbox Code Playgroud)
错误:
..\CubeFarmBlock.cpp(76): 注意:请参阅正在编译的函数模板实例化 'TFunction::TFunction(FunctorType &&)' 的参考 1> with 1> [ 1> FunctorType=void (__cdecl ACubeFarmBlock::* )(float ) 1>]
严重性代码 描述 项目文件行抑制状态错误(活动)
E0070 不允许 CubeFarm ..\CubeFarmBlock.cpp …
我正在处理引擎中包含的 FPS 示例代码。我正在尝试加载我添加到内容浏览器中的新骨架网格物体,并根据特定条件分配给我的骨架网格物体组件。
这是我尝试用于加载骨架网格体的代码,但似乎无法从该路径加载,因为它无法优化资产:
ConstructorHelpers::FObjectFinder<USkeletalMesh> newAsset(TEXT("SkeletalMesh'/Content/FirstPerson/FPWeapon/Mesh/SK_FPGun.uasset'"));
Run Code Online (Sandbox Code Playgroud)
给出路径的方式有什么问题吗?它只是一个简单的资产负载
提前致谢
假设我想在代码中创建一个用于控制 pawn 的 AI 类,但我希望我的设计师能够使用蓝图来修改行为以进行快速迭代。
假设我在MyProjectBaseAI.h 中有这个:
#pragma once
#include "EngineMinimal.h"
#include "GameFramework/Actor.h"
#include "MyProjectBaseAI.generated.h"
UCLASS()
class MYPROJECT_API AMyProjectBaseAI : AActor
{
GENERATED_BODY()
public:
AMyProjectBaseAI(const FObjectInitializer& ObjectInitializer);
virtual void BeginPlay() override;
virtual void Tick(float DeltaSeconds) override;
void SetGoalPosition(FVector pos);
virtual void DetermineGoalPosition(int32 stateData1, int32 stateData2) = 0;
private:
FVector goalPosition;
};
Run Code Online (Sandbox Code Playgroud)
我想让这个类抽象,并有一个蓝图能够根据他们的 AI 设计实现DetermineGoalPosition(...);调用SetGoalPosition(FVector pos)。
那么,设计人员如何在检查器中设置实现类,以便我的 C++ 代码可以实例化它?假设我正在使用AMyProjectBaseAI ai = World->SpawnActor<AMyProjectBaseAI>(...);
我正在使用蓝图在虚幻引擎 4 中开发 VR 游戏。
我想计算用户需要转动他/她的枪(其方向通过运动控制器的位置确定)以指向目标所需的(偏航)角度。
我认为这可能是这样做的方法:
除了我不太确定如何执行。我一直在试验(如下面的屏幕截图所示),但没有进行正确的操作。有什么想法吗?
谢谢!
vector angle unreal-engine4 virtual-reality unreal-blueprint
正如标题所说,TBitArray<>没有确切的类型,那么这是否意味着该方法可以接受任何诸如TBitArray<int32>, TBitArray<float>, ... 作为参数?
FORCEINLINE bool HasAll(const TBitArray<>& Other) const
{
FConstWordIterator ThisIterator(*this);
FConstWordIterator OtherIterator(Other);
while (ThisIterator || OtherIterator)
{
const uint32 A = ThisIterator ? ThisIterator.GetWord() : 0;
const uint32 B = OtherIterator ? OtherIterator.GetWord() : 0;
if ((A & B) != B)
{
return false;
}
++ThisIterator;
++OtherIterator;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
这段代码有什么区别
template<class T>
FORCEINLINE bool HasAll(const TBitArray<T>& Other) const
Run Code Online (Sandbox Code Playgroud) 我最近对我的驱动器进行了一些清理,并决定在清理后安装Visual Studio 2017.我一直在尝试使用从git hub拉出的引擎继续处理我的UE4项目.我尝试用VS2017重建项目,我知道还没有完全支持.我遇到了很多问题,比如缺少corecrt.h文件,我重新安装了Windows SDK来修复.
当前的问题是一个名为windows.h的新丢失文件,因为构建它时会查找错误版本的SDK.我想知道是否有其他人已成功将Visual Studio 2017与他们的UE4项目集成,如果他们遇到类似的问题并修复了它们.
在多人游戏环境中,哪个 UE4 类最适合存储用户数据?
要求是数据
由于 (1) 和 (2),将其存储在用户 actor 上不是一种选择。我想到的是
PlayerController,但是它在级别之间是否持续存在?PlayerState复制设置COND_OwnerOnly为特定数据,但它在级别之间是否持久?还有其他类更符合上述要求吗?
unreal-engine4 ×10
c++ ×5
aar ×1
angle ×1
ant ×1
facebook ×1
multiplayer ×1
templates ×1
timer ×1
vector ×1