UE4 c++ 创建刚体Cube
2024-09-18 22:54:06
1 新建一个Actor,一会用蓝图继承这个
TCubeActor.h
#pragma once #include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Runtime/Engine/Classes/Components/StaticMeshComponent.h"
#include "TCubeActor.generated.h" UCLASS()
class TVIVIMOVEDEMO3_API ATCubeActor : public AActor
{
GENERATED_BODY() public:
// Sets default values for this actor's properties
ATCubeActor(); protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override; public:
// Called every frame
virtual void Tick(float DeltaTime) override; UStaticMeshComponent * CubeMesh;
};
TCubeActor.cpp
#include "TCubeActor.h" // Sets default values
ATCubeActor::ATCubeActor()
{ PrimaryActorTick.bCanEverTick = true; CubeMesh = FindComponentByClass<UStaticMeshComponent>();
RootComponent = CubeMesh;
} // Called when the game starts or when spawned
void ATCubeActor::BeginPlay()
{
Super::BeginPlay(); } // Called every frame
void ATCubeActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime); }
重点在于把Cube提升为RootComp,否则创建出来Cube永远在v(0,0,0)点,即使Actor点位置动态改变Cube绝对位置也不随Actor改变
2 创建蓝图TCubeBP
加一个Cube,打开物理开关
3 c++动态在某个位置生成这个BP
FVector v = FVector(1000,0,0);
FRotator r = FRotator(0, 0, 0);
GetWorld()->SpawnActor<AActor>(TCubeClass,v,r);
一些问题记录
可以使用
UStaticMeshComponent * CubeMesh = FindComponentByClass<UStaticMeshComponent>();
CubeMesh->SetSimulatePhysics(true);
开启关闭物理
如果TCubeBP中物理没打开,可以直接通过SetActorLocation设置Cube位置(RootComp被修改为Cube后)
如果TCubeBP中物理已经打开,那么动态关掉物理后Cube物理效果是没了,但是不能再通过SetActorLocation设置位置,原因未知
https://answers.unrealengine.com/questions/216929/how-can-i-spawn-an-actor-at-a-specific-location-in.html
最新文章
- 各种同步方法性能比较(synchronized,ReentrantLock,Atomic)
- MFC CEdit改变字体大小的方法
- 关于python3.X 报";import urllib.request ImportError: No module named request";错误,解决办法
- How to run a (Tomcat)Java application server on a Azure virtual machine
- Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)
- 关闭“JDK自动更新”提示
- 为什么引用不了App_Code里的类
- Java之日期和时间的计算
- Windows Service 访问远程共享权限设置
- java中的代理
- 【GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣】玛萨玛索男装网购商城
- LoadRunner入门(二)
- CodeForces - 706B 二分stl
- 使input文本框不可编辑的3种方法
- Kubernetes 基于 Metrics Server 与 HPA 的使用
- 解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file
- solr 字段设置不存储表示不会进行分词
- Java中的参数列表
- The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online -C:Halting Problem(模拟)
- python3 异步模块asyncio
热门文章
- Java中synchronized
- Java中String的设计
- 使用vscode写typescript(node.js环境)起手式
- hihocoder(第十周)二叉树(前序中序推后续)递推实现
- flash滑杆控制图片横向滚动
- NASNet学习笔记—— 核心一:延续NAS论文的核心机制使得能够自动产生网络结构; 核心二:采用resnet和Inception重复使用block结构思想; 核心三:利用迁移学习将生成的网络迁移到大数据集上提出一个new search space。
- str_1.判断两个字符串每个字符出现的次数一样
- 机器学习 F1-Score, recall, precision
- 每天一个Linux命令(2):ls命令
- 【Python】File IO