美文网首页
2022-06-05【UE】回忆之前,忘记之后【大象无形】

2022-06-05【UE】回忆之前,忘记之后【大象无形】

作者: 持刀的要迟到了 | 来源:发表于2022-06-05 17:26 被阅读0次


第四章 对象

《就他这样怎么能找到对象的?》
(找个对象很难吗?)

类对象的创建

  1. 纯c++类型,使用F开头。通过new创建对象。
  2. 继承自UObject,使用NewObject创建对象。
    NewObject<T>()
    这会返回一个指向你的类的指针,此时这个对象被分配在临时包中。下一次加载会被清除。
  3. 继承自AActor,通过SpawnActor函数来产生对象。
    GetWorld()->SpawnActor<AMyActor>()
  4. Slate,暂时不用

类对象的获取

for(TActorIterator<AActor> Iterator(GetWorld()); Iterator; ++ Iterator){}
通过cast转换类型拿到自己想要的actor。

类对象的销毁

  1. 再函数体中创建,不是通过new来分配内存,这个对象会在函数调用结束后,随着函数栈空间释放,一起释放掉。不需要操作。
    void Func()
    {
    FClass obj = FClass();
    }

  2. 如果是通过new来分配内存,而且直接传递类的指针,那么需要意识到,除非手动删除,否则这一块内存永远不会被释放:内存泄漏。
    但是如果使用new分配了内存,同时使用了智能指针TSharedPtr/TSharedRef进行管理,那么它和c#一样,也不需要并且不应该被手动释放。智能指针通过引用计数来完成自动内存释放。
    可以使用MakeShareable函数来转化普通指针为只能指针。
    TSharedPtr<FClass> objPtr = MakeShareable(new FClass())

  3. UObject特殊,无法使用智能指针来管理UObject对象。
    UObject采用自动垃圾回收机制。
    当一个类的成员变量包含指向UObject的对象,同时又带有UPROPERTY宏,那么这个成员变量会触发引用计数机制。
    垃圾回收器会定期从根节点Root开始检查,当一个UObject没有被别的任何UObject引用,就会被垃圾回收。你可以通过AddToRoot函数,让一个UObject一直不被回收。

  4. Actor类,可以通过调用Destroy函数请求销毁,但这只意味着讲当前Actor从所属世界中摧毁,但是内存回收依然由系统决定。

第七章 引擎系统相关类

字符串处理

FName: const string
FText:static string
FString:string

UE4_最全FString字符串与各格式转换 输出 - 知乎 (zhihu.com)

第十三章 蓝图

蓝图架构概述

从Kismet系统发展而来,是一个完整的面向对象的可视化编程系统。小型蓝图编译速度远远快过c++速度,并且能在发布时将蓝图编译为c++。是基于虚幻UClass Uproperty UFunction框架,根植于Unreal Script字节码编译器系统的一套可视化编程系统。
也就是说,蓝图编译结果依然会转化为UClass,UProperty,UFunction信息。指令代码会存储于UFunction信息中。可视化字节码编程。

前端:蓝图存储与编辑

蓝图系统由三部分组成:蓝图编辑系统、蓝图本身、蓝图编译后的字节码。最终编译完成的蓝图字节码将不会包含蓝图本身的节点信息。这部分信息是在UEdGraph中存储的,这是一种优化。
UEdGraph用于表示蓝图的数据结构。从整体来说,可以把其他看作这个结构。
UEdGraph
|-Schema
|-Nodes
|-SubGraphes

相关文章

  • 2022-06-05【UE】回忆之前,忘记之后【大象无形】

    第四章 对象 《就他这样怎么能找到对象的?》(找个对象很难吗?) 类对象的创建 纯c++类型,使用F开头。通过ne...

  • 回忆之前,忘记之后

    2月14,情人节,却与我无关的一个日子,离开家来到这个也要即将离开的城市!理由竟是我想独自面对那个不确定的结果,...

  • 回忆之前,忘记之后

    某天,某商场蒂芙尼店,中意一款项链,二万五千八,最终没去试戴,不单是为了钱。隔壁一女孩,新款买单,价格不低于...

  • 回忆之前,忘记之后

    如果我们忘记这本书的作者是村上春树,在《第一人称单数》当中看到的就只是一个年逾七十的老人的回忆。但与石黑一雄用回忆...

  • 后来的我们:回忆之前,忘记之后

    我记得第一次听奶茶的歌,是在大学的自习教室,CD里一直重复播着很爱很爱你,阳光很好,心并不是。 电影老实讲算不上一...

  • 短篇小说|回忆之前,忘记之后

    点点滴滴往日的眷念,寻寻觅觅又再回到我的身边。苦苦安顿抚平的回忆,骤然散落一如繁星的碎片。 ——《回忆之前,忘记之...

  • 回忆之前,忘却之后

    头发湿湿的,耳机里是熟悉的旋律,点了豆瓣fm中标记了红心的歌曲,惆怅不知道是不是因为没有吃晚饭,不可救药的袭来了。...

  • 回忆之前,离别之后

    文:天涯草 晨起的时候,骑校长夫人的绿驹送女儿上本学期最后一天学。沾了铁锈的绿色大门钢棍,告诉我这是一所历史悠久的...

  • UE4 C++模块化编程

    参考文献: 游戏模块 | 虚幻引擎文档 编译工具 | 虚幻引擎文档 《大象无形:虚幻引擎程序设计浅析》 ue4 模...

  • 2022-06-05【UE】插件&蓝图

    先用蓝图熟悉ue工作流和系统提供的东西。Lyra Starter Game | Epic Developer Co...

网友评论

      本文标题:2022-06-05【UE】回忆之前,忘记之后【大象无形】

      本文链接:https://www.haomeiwen.com/subject/kuprmrtx.html