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

辽宁工程建设信息网站优化的意思

辽宁工程建设信息网站,优化的意思,武义建设局网站首页,检索网站怎么做1、UE4基础元素 ①Actor 我们又见面了Actor,Actor是在一个关卡中持续存在的,通常他包含几个Actor组件。支持网络复制和多人游戏。   Actor不包含位置,方向。这些东西在Root Component中存储。对于UE3 中的Pawn也由PlayerCharacter继承了…

1、UE4基础元素

①Actor

      我们又见面了Actor,Actor是在一个关卡中持续存在的,通常他包含几个Actor组件。支持网络复制和多人游戏。
     Actor不包含位置,方向。这些东西在Root Component中存储。对于UE3 中的Pawn也由PlayerCharacter继承了,因为他有MovementComponent包含跳跃,速度等属性
 
       
由SpawnActor() 生成
       必须由Destroy来销毁
       在游戏中不能被垃圾回收
 
   ②什么是ActorComponent?

    能被复用的功能可以添加进入Actor
    包含一些最有趣的函数和事件
    能被Blueprint访问~

   ③组件例子

   Scene Component 添加形状和连接
   Primitive Component 添加碰撞和渲染
   UAudioComponent,UArrowComponent,UInputComponent,ULightComponent,UMeshComponent,UParticleSystemComponent等等…

   写过UnrealScript会对组件深有体会

   ④PrimitiveComponent组件事件举例

   Hit- 再碰到强的时候调用
   Begin/EndOverlap -进出一个Trigger
   Begin/EndCursorOver 没用过
   Clicked/Released 不解释
   InputTouchBegin/End
   Begin/EndTouchOver

2:代码基础知识
 类命名前缀

虚幻引擎为您提供在构建过程中生成代码的工具。这些工具拥有一些类命名规则。如命名与规则不符,将触发警告或错误。下方的类前缀列表说明了命名的规则。

派生自 Actor 的类前缀为 A,如 AController。
派生自 对象 的类前缀为 U,如 UComponent。
枚举 的前缀为 E,如 EFortificationType。
接口 类的前缀通常为 I,如 IAbilitySystemInterface。
模板 类的前缀为 T,如 TArray。
派生自 SWidget(Slate UI)的类前缀为 S,如 SButton。
其余类的前缀均为 字母 F ,如 FVector。


3、虚幻C++部分代码解释

#include "GameFramework/Actor.h"
#include "MyActor.generated.h"UCLASS()
class AMyActor : public AActor
{GENERATED_BODY()public: // 设置该 actor 属性的默认值AMyActor();// 游戏开始时或生成时调用virtual void BeginPlay() override;// 每帧调用virtual void Tick( float DeltaSeconds ) override;
};

AMyActor::AMyActor()

{

    // 将此 actor 设为每帧调用 Tick()。不需要时可将bCanEverTick设置为false以关闭此功能,来提高性能。

    PrimaryActorTick.bCanEverTick = true;

}

3.1、使属性出现在编辑器中
类创建好之后。现在可以创建一些属(设计师可是虚幻编辑器中设置这些属性)。可以使用 特殊宏 UPROPERTY() 来轻松的将属性公开至编辑器中可视。比如:UPROPERTY(EditAnywhere) 宏即可。

UCLASS()
class AMyActor : public AActor
{GENERATED_BODY()UPROPERTY(EditAnywhere)int32 TotalDamage;...
};

之后。你就可以在编辑器中看到变量TotalDamage对应的数值。并且可以对数值进行调节。
除此之外还可以加入其他的属性。

除此之外,还可以通过宏定义来是一些属性在其关联属性被更改的时候也做出相应的改变:

void AMyActor::PostInitProperties()
{Super::PostInitProperties();CalculateValues();
}void AMyActor::CalculateValues()
{DamagePerSecond = TotalDamage / DamageTimeInSeconds;
}
//通过WITH_EDITOR定义使这个函数的目标对象在编辑器中被更改时引擎将通知和运行这个函数。
#if WITH_EDITOR
void AMyActor::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{CalculateValues();Super::PostEditChangeProperty(PropertyChangedEvent);
}
#endif

3.2、蓝图调用C++中的函数
上面说了如果对蓝图公开属性。那函数呢?对呀函数我们又得需要另一个宏来定义。

UFUNCTION(BlueprintCallable, Category="Damage")
void CalculateValues();

如上。 可以通过 UFUNCTION 宏来把C++函数对反射系统公开。 而 BlueprintCallable将其对蓝图虚拟机公开。这样在在蓝图中,右键点击快捷键菜单就可以使用这个函数。

3.3、AActor简单介绍
AActor 这个 类,被作为游戏场景中一个基本的对象。所以可以放在关卡场景中的对象都可延展自这个类,比如:AStaticMeshActor、ACameraActor 和 APointLight 等等 actor。
这个类派生在 UObject。
AActor 的生命周期为:

3.4、虚幻反射系统
再用UE4 C++ 编程的时候。同会看到好多非C++ 语句的字段。例如,他会在一个类上加上UCLASS() 等等。这些都是UE4使用其自身的反射实现,来启动动态功能,比如,垃圾回收,序列化,网络复制和蓝图/C++通信。这些功能你可以根据需求选择的加入,只要为相应的类型添加正确的标记就可生成反射数据。 一下是一些基础标记

#include "MyObject.generated.h" //这个头文件包含虚幻引擎所有反射数据。必须在声明类型的头文件中将此文件作为最后的 include 包含。UCLASS(Blueprintable)
class UMyObject : public UObject
{GENERATED_BODY()public:MyUObject();UPROPERTY(BlueprintReadOnly, EditAnywhere)float ExampleProperty;UFUNCTION(BlueprintCallable)void ExampleFunction();
};

您还会注意到,可以在标记上添加额外的说明符。此处已添加部分常用说明符用于展示。通过说明符可对类型拥有的特定行为进行说明。

Blueprintable - 此类可由蓝图延展。
BlueprintReadOnly - 此属性只可从蓝图读取,不可写入。
Category - 定义此属性出现在编辑器 Details 视图下的部分。用于组织。
BlueprintCallable - 可从蓝图调用此函数。
说明符太多,无法一一列举于此,以下链接可用作参考:

UCLASS 说明符列表

UPROPERTY 说明符列表

UFUNCTION 说明符列表

USTRUCT 说明符列表

3.5、对象/Actor 迭代器
就是 对应 U3D 的 for 循环。先查找关卡中所以的派生自UObject的 类的实例。然后遍历他们。

// 将找到当前所有的 UObjects(此处可以写入你自定义的类的类名) 实例
for (TObjectIterator<UObject> It; It; ++It)
{UObject* CurrentObject = *It;UE_LOG(LogTemp, Log, TEXT("Found UObject named:%s"), *CurrentObject.GetName());
}

http://www.ds6.com.cn/news/105201.html

相关文章:

  • 做网站需求 后期方便优化口碑营销成功案例有哪些
  • 在哪个网站做民营企业申报广州疫情升级
  • 包头网站设计网站排名点击工具
  • 众筹网站哪家好引擎搜索网站
  • 网站备案接入方式搜索量用什么工具查询
  • 做网站app志鸿优化网
  • wordpress 文章页面失败公众号微博seo
  • 镇江网站建设流程google浏览器官网下载
  • 什么是优化网站爱网站关键词挖掘
  • 做网站需要工商执照吗电工培训技术学校
  • 河北网站开发费用重庆网站推广联系方式
  • 首码项目推广网站培训机构排名
  • 福田响应式网站建设服务怎么免费建个人网站
  • 软件网站建设专业百度竞价什么时候开始的
  • 深情密码免费观看网站青岛网站建设方案
  • wordpress 生成水印西安seo外包行者seo
  • 郑州建设网站有哪些好搜网惠州seo
  • 做网站的软件是是什么最大免费发布平台
  • 重庆网站建设夹夹虫公司.很好南昌seo全网营销
  • 网站图片最大尺寸境外电商有哪些平台
  • 做购物网站需要接口吗最近一周的时政热点新闻
  • 成立网站建设公司要求网络推广外包业务销售
  • 网站自动弹窗代码百度一下就知道手机版
  • 网站域名一年多少钱绍兴百度seo排名
  • seo网站结构图杭州seo营销公司
  • 网站策划任职要求麒麟seo外推软件
  • .耐思尼克官方网站专业的郑州网站推广
  • 个人网站设计论文一万字企业管理培训免费课程
  • 文化传媒网站封面百度服务电话在线人工
  • 域名备案 网站备案中国第一营销网