- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上,我想在对象的每个刻度上增加 Z 轴。我可以在 Blueprint 中做到这一点,但我似乎无法弄清楚如何从滴答和增量 ActorLocation 访问类的开始播放部分。
// Fill out your copyright notice in the Description page of Project Settings.
#include "MoveUp.h"
#include "GameFramework/Actor.h"
// Sets default values for this component's properties
UMoveUp::UMoveUp()
{
// Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features
// off to improve performance if you don't need them.
PrimaryComponentTick.bCanEverTick = true;
// ...
}
// Called when the game starts
void UMoveUp::BeginPlay()
{
Super::BeginPlay();
AActor* Owner = GetOwner();
FVector ActorLocation = FVector(0.f,0.f,200.f);
Owner->SetActorLocation(ActorLocation, false) ;
}
// Called every frame
void UMoveUp::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
// ...
}
最佳答案
在UMoveUp:BeginPlay()
中,您可以设置初始值。它只在 actor 生成时被调用一次。你想使用 TickComponent
:
// Called every frame
void UMoveUp::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
// this could be "cached" as private property - better performance
auto owner = GetOwner();
// now we need to actually move by Delta * base value
// note that we are ignoring actor's rotation
auto newActorLocation = owner->GetActorLocation() + FVector(0.f,0.f,200.f) * DeltaTime;
owner->SetActorLocation(newActorLocation, false);
}
使用 DeltaTime
很重要,因为您的 FPS 值会(并且会)随时间变化,而且它还取决于游戏(视觉)设置和用户的 PC。无论帧率如何,使用 DeltaTime
确保相同的体验。
另一种可能的方法是使用 UPrimitiveComponent::AddForce(...)
( UE Docs )。这是一种更基于物理学的方法,适用于更复杂的模拟。
关于c++ - 更改类的其他部分的值 Unreal C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45544493/
当我尝试在 Unreal 中构建项目时出现以下错误,我包含了一些闪电。 “照明构建失败。Swarm 未能启动。编译 Unreal Lightmass”。 我已经使用文档中的设置说明从 Linux 上的
我是虚幻的新手,我在虚幻中有这个项目。我添加了几个新的 cpp 文件,其中包括一些标准头文件,如 string.h、stdlib 等。Intellisense 没有给出错误,但项目无法编译。 这是错误
在 Unreal Editor 中找不到 GameMode。 只有 AActorComponent 位于 C++ Classes 目录中。 我错过了什么吗? Screenshot of Unreal
我已经按照此处的说明在 Ubuntu 20.04 上安装了虚幻引擎 4: https://docs.unrealengine.com/en-US/SharingAndReleasing/Linux/B
每次我打开任何虚幻引擎项目或虚幻引擎编辑器本身时,Epic 启动器都会启动,如何防止这种情况发生?看不到任何可以让它保持冷静的选项。使用虚幻引擎编辑器每次操作都要关闭它 2 次。 最佳答案 在虚幻引擎
使用 UE 4.23.1 基本上,我遵循的是一个非常简单的教程。我扩展了多个基类,似乎在我的任何扩展中,所有组件(例如,物理、碰撞、静态网格等)的变量都在我进行完整项目编译时全部重置。 例如:我用自定
我正在尝试使用蓝图禁用 actor 的物理特性。我知道我可以使用 Set Simulate Physics 来做到这一点,但是这个函数需要一个 Primitive 零件。目前我有 actor 对象引用
我需要找到某个方块,但我不记得它是哪个蓝图,那么如何在所有蓝图中找到任何东西? 如果这是不可能的,则可能是功能请求。 最佳答案 “取消选中搜索最右侧的框。选中时,它仅搜索当前 BP。” https:/
请问有没有办法用visual Studio调试虚幻引擎源码 源代码 : ( )。 每次我尝试在他们的源代码中设置断点都只是说它无法到达这个断点。 最佳答案 确保您已在引擎安装的安装选项中安装了用于调试
要在编辑器中执行此操作,请打开自动化选项卡,连接到 session 并选择要运行的测试。 您如何从命令行执行此操作? (注意,不编译 UnrealEngine/Engine/Build/BatchFi
我想使用控制装置让我的角色瞄准。但由于某种原因,我的角色在错误的轴上旋转,我不知道为什么。 我尝试将轴(主轴和辅助轴)更改为一些随机值,但我无法让它工作,而且我也看了很多教程,我不认为我做错了什么。
我刚刚支付了 19 美元的费用来开始使用虚幻引擎 4,并且已经在界面上玩了几个小时了。 我决定终于是时候开始编写一些代码了,但我担心我可能没有能力这样做。 我的机器已有 5 或 6 年历史,运行 Wi
我想使用控制装置让我的角色瞄准。但由于某种原因,我的角色在错误的轴上旋转,我不知道为什么。 我尝试将轴(主轴和辅助轴)更改为一些随机值,但我无法让它工作,而且我也看了很多教程,我不认为我做错了什么。
在 Unreal 4.23 中,我在创建我的项目的 Android 版本时遇到了这个错误: UATHelper: Packaging (Android (ASTC)): ERROR: The foll
我正在为一个项目从 Unity 迁移到 Unreal。为了让自己熟悉,我正在学习本教程。 https://docs.unrealengine.com/en-US/Programming/QuickSt
我知道虚幻引擎使用反射系统来拥有 C++ 脚本这一事实。我也知道它使用宏来定义引擎应如何反射(reflect)变量。以下是我不知道的: 这些宏是在代码执行中定义元数据(填充列表、定义结构等...),还
我正在寻找一种在虚幻引擎项目的项目构建/ cooking 时轻松定义宏/预处理器指令的方法。 例如,如果我希望定义的 C++ 宏 MY_BUILDTIME_VAR 在某些构建中为 0,在其他构建中为
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想要改善这个问题吗?更新问题,以便将其作为on-topi
基本上,我想在对象的每个刻度上增加 Z 轴。我可以在 Blueprint 中做到这一点,但我似乎无法弄清楚如何从滴答和增量 ActorLocation 访问类的开始播放部分。 // Fill
我在做一些 UE4 开发的入门类(class),我有一个关于 UE4 中 C++ 使用的问题。 我正在做一个创建基本位置记者的教程。 下面是 GetOwner() 的定义。 FORCEINLINE_D
我是一名优秀的程序员,十分优秀!