当前位置: 首页 > news >正文

广州做网站的公电子工程专辑

广州做网站的公,电子工程专辑,网站空间服务站电话,济南网页制作设计官方文档:虚幻引擎C编程教程 | 虚幻引擎 5.5 文档 | Epic Developer Community | Epic Developer Community 1.物体上下起伏并旋转 1.1第一种写法 创建一个继承于Actor的类,并为新的Actor命名为FloatingActor,然后点击Create Class 重新…

官方文档:虚幻引擎C++编程教程 | 虚幻引擎 5.5 文档 | Epic Developer Community | Epic Developer Community

1.物体上下起伏并旋转 

1.1第一种写法

创建一个继承于Actor的类,并为新的Actor命名为FloatingActor,然后点击Create Class

重新加载代码文件

在Games->(用户自定义工程文件名)->Source->FloatingActor.h

在头文件添加代码

public:	// 设置构造默认函数AFloatingActor();UPROPERTY(VisibleAnywhere)
//使用继承于UObject的指针UStaticMeshComponent*UStaticMeshComponent* VisualMesh;

在源文件:

//设置默认值
AFloatingActor::AFloatingActor()
{//将设置为每帧调用Tick()。如果你不需要它,你可以关闭它来提高性能。PrimaryActorTick.bCanEverTick = true;//创建Object,可在蓝图details查看VisualMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh"));VisualMesh->SetupAttachment(RootComponent);//根组件//根组件另一种写法:RootComponent = VisualMesh;//不推荐此写法//静态网格体Copy Reference:/Script/Engine.StaticMesh'/Game/StarterContent/Shapes/Shape_Cone.Shape_Cone'static ConstructorHelpers::FObjectFinder<UStaticMesh> CubeVisualAsset(TEXT("/Game/StarterContent/Shapes/Shape_Cone.Shape_Cone"));//判断是否初始化成功if (CubeVisualAsset.Succeeded()){VisualMesh->SetStaticMesh(CubeVisualAsset.Object);VisualMesh->SetRelativeLocation(FVector(0.0f, 0.0f, 0.0f));}
}void AFloatingActor::BeginPlay()
{Super::BeginPlay();//注意BeginPlay一定要调用Super::BeginPlay()
}//调用每一帧
void AFloatingActor::Tick(float DeltaTime)
{Super::Tick(DeltaTime);//初始化FVector NewLocation = GetActorLocation();FRotator NewRotation = GetActorRotation();float RunningTime = GetGameTimeSinceCreation();//得到在世界的时间从创建开始float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));  //设置高度变化呈现正弦曲线变化float DeltaRotation = DeltaTime * 20.0f;	//Rotate by 20 degrees per second旋转变化	NewLocation.Z += DeltaHeight * 20.0f;       //高度变化,系数放大20倍NewRotation.Yaw += DeltaRotation;SetActorLocationAndRotation(NewLocation, NewRotation);
}

思路:在默认构造函数初始化网格体,运用引擎内置函数SetStaticMesh和SetRelativeLocation。在Tick时间函数内先初始化状态信息,并运用数学函数改变状态数值,最后用SetActorLocationAndRotation函数实现Actor位置变化。

1.2第二种写法(初始化网格体)

在上述头文件添加新的代码 :

public:UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Name")UStaticMesh* NewMesh;UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "FloatingActor")float FloatSpeed = 20.0f;UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "FloatingActor")float RotationSpeed = 20.0f;	

此写法是运用宏从而在蓝图进行快速修改 

从而不需要前一种方法默认构造函数的指定网格体的写法:

	//静态网格体Copy Reference:/Script/Engine.StaticMesh'/Game/StarterContent/Shapes/Shape_Cone.Shape_Cone'static ConstructorHelpers::FObjectFinder<UStaticMesh> CubeVisualAsset(TEXT("/Game/StarterContent/Shapes/Shape_Cone.Shape_Cone"));

在源文件的BeginPlay()函数处代码:

void AFloatingActor::BeginPlay()
{Super::BeginPlay();//注意BeginPlay一定要调用Super::BeginPlay()//将原默认构造函数的判断放在这里if (NewMesh){VisualMesh->SetStaticMesh(NewMesh);VisualMesh->SetRelativeLocation(FVector(0.0f, 0.0f, 0.0f));}
}

http://www.yayakq.cn/news/389455/

相关文章:

  • 网站开发要什么专业设计商贸公司logo
  • 电影项目做产品众筹哪个网站好昆明网站制作代理
  • 网站页面做多宽网站域名注销电话
  • 站长工具ping网址制作网站
  • 物流网站建设费用网页设计图片旋转代码
  • 一个网站开发团队要什么人建立的网站百度搜索不到
  • 中国空间站是干什么的wordpress wp polls
  • 网站seo规范wordpress图片广告
  • 国外排版网站专门做装修的网站有哪些
  • 腾讯云域名如何建设网站中山网站建设gdyouzi
  • 如何做古诗词网站网站备案授权码
  • 城市焦点商城网站建设案例为什么做美妆网站
  • 房门户网站如何做优化域名过期做的网站怎么办
  • o2o电商网站建设域名哪个网站好
  • 自建网站编程成长电影在线观看免费
  • 建网站是不是免费的网络规划设计师需要的基础
  • 丽水网站建设企业网站维护要什么
  • app营销网站建设顺德新网站制作
  • 单页网站修改网站建设中英版
  • 帝国cms 网站搬家网络运维服务平台
  • 网站开发课设个人总结网站模板一般用什么软件做
  • 河南建设网站官网wordpress 图片采集
  • 旅游网站建设策划书模板wordpress app模板
  • 常州网站建设效果二维码生成器带logo
  • 做spa的网站怎么推广优化网站 优帮云
  • wordpress5.0调用api接口德州哪家网站优化公司专业
  • 推广一个网站需要什么wordpress 3.9 wpmu
  • 网站商城建设基本流程wordpress 分销
  • 做项目网站要不要备案有网站和无网站的区别
  • 监控设备网站制作合肥平台网站建设