置顶文章

1.3k 1 分钟

工作逐渐步入正轨,后面会陆陆续续更新学习内容~目前主要在啃 Unreal 和 PhysX 的源代码 # game-study-plan # C++ 阅读《C++ Primer Plus》 | 产出文档 # python 阅读《python 源码剖析》 | 产出文档 python「工匠」 | 官方文档 了解 Python 热更新机制 | 产出文档 掌握 Python 的 C 扩展编写 | 产出文档 # rust Rust 程序设语言 | 官方文档 Rust 异步编程 | 官方文档 Learn Rust With Entirely Too Many Linked Lists -...

精选分类

物理引擎

学习

导航网格

学习

UE

学习

Games101图形渲染

学习

日语初级

学习

python

学习

cpp

学习

GAME202高质量实时渲染

学习

文章列表

1.4k 1 分钟

# LLM(入门) # 生成式人工智能(Generative AI) 机器产生复杂有结构的物件。 复杂:无法穷举。 机器需要能够产生在训练时从来没有看过的东西 需要拥有创造力 # ChatGPT 真正做的事情 —— 文字接龙。 G:Generative 生成 P:Pre-trained 预训练。 T:Trasnformer Token:「文字接龙」的最小组成单位。特性:Token 必须可穷举 接龙用的是掷骰子而不是取概率最大的词。 掷骰子不确定性更大,有更多可能,回答的结果也会更加自然。 另一方面由于掷骰子的不确定性,答案往往并不准确,存在瞎编的情况。 # 预训练 /...
598 1 分钟

# Level Generation with Large Language Models # Fine-tuning(微调) # Bootstrapping(自举法) 用已有数据通过模型得到新数据 通过人工 or 自动化的测试确保新数据符合预期的情况 把新数据也投入模型得到更新的数据 # Hybrid text-conditioned generators(混合文本生成器) # The 5-dollar model 论文:https://arxiv.org/pdf/2308.04052 # GAN(生成式对抗网络) # embedding # MarioGPT #...
341 1 分钟

# 《天国:拯救 2》:结合 Goap 和模块化行为树,实现丰富生动的 NPC 行为 # Goap(Goal-Oriented Action Planning) 通过一系列的「行为」和「行为本身所需条件 (npc 具备某种状态)」以及「行为产生的影响 (npc 获得新的状态)」 并且根据「行为」的「权重」让不同 npc 选择自己偏好的「行为」。整个挑选行为的过程,类似 A_star...
1.7k 2 分钟

# SplineCurves 样条曲线:多段三阶贝塞尔曲线的联合。三阶插值(取自 Unreal) FVector FMath::CubicInterp(const FVector& P0, const FVector& T0, const FVector& P1, const FVector& T1, const float& A) { static_assert(PLATFORM_ENABLE_VECTORINTRINSICS == 1, "Requires SSE...
4.7k 4 分钟

# Unreal Iris(五)BaseLine && DeltaCompression 增量更新是 Iris Replication 的新功能,其最大的优势在于可以有效减少对象的复制内容,提高整个 Replication System 的复制效率。 # 相关配置 只有配置了的 ClassName 才会开启增量同步。 [/Script/IrisCore.ObjectReplicationBridgeConfig];...
4k 4 分钟

# Unreal Iris(四)DataStream 本章主要介绍 UObject 对象的数据在整个 Iris Replication System 的流向。 # UDataStreamChannel Iris Replication 和 Unreal 原生的 Replication 最大的不同就在于 Channel。原生版本下每个 Connection 中的每个 Actor 都会有单独的 Channel,然后状态信息会被记录在对应的 Channel 中。而 Iris 中一个 Connection 只会有一个 DataStreamChannel 负责同步所有的 Actor,而所有 Actor...
6.5k 6 分钟

# Unreal Iris(三)Filtering && Prioritization Unreal Iris 并不支持 ReplicationGraph,取而代之的提供了 Filtering System 和 Prioritization。虽然目前还没有 ReplicationGraph 强大,但是性能方面有了很大程度的提升。 # DirtyNetObjectTracker Iris 的 Filtering 并不是每帧都需要处理所有对象,而是通过 DirtyTracker 追踪每一帧中变化的对象,然后通过 Filtering 得到这些对象应该出现在哪些...
12k 11 分钟

# Unreal Iris(二)ReplicationState ReplicationState 是 Unreal Iris Replication System 中用于描述对象同步状态。要完成对于状态数据的同步需要多个模块的分工合作: NetSerializer:针对网络同步对象的序列化和反序列化规则。 ReplicationStateDescriptor:针对 UObject 中各个成员,在 Replication System 中的如何说明以及应用何种规则的描述。 Protocol:上述两者结合,对 UObject...
5.9k 5 分钟

# Unreal Iris(一)概述 Iris Replication System 中对于对象关系的组织形式比较晦涩,为了尽可能的节省内存开销,大量使用了 BitArray 以及各种 Bit 运算提效,因此如果对于整个 Iris Replication System 中各个数据之间的关联关系没有大致认知的情况下,很容易迷失在错综复杂的关系网中。本节主要针对 Iris 中比较常见的数据源做个整体性的宏观的梳理。 # 基本概念 # FNetRefHandle && FNetHandle FNetRefHandle...
19k 17 分钟

# Unreal Chaos 导出为 PhysX 物理文件 # 概述 随着 Unreal 5.0 的发布,PhysX 库也从 Unreal 的源代码中被移除。Unreal 自此不再支持 PhysX 库,转而使用自研的 Chaos。随之而来的问题是:项目如果升级到 Unreal 5.0+ 版本,就必须放弃 PhysX 库,对于客户端来说影响比较有限,毕竟 Unreal 官方提供了全套的解决方案。但对于不使用 DS 的服务器来说,如果需要用到物理场景的数据,就变得棘手了起来。 常规管线中,客户端一般会通过 PhysX 库自带的序列化接口,把场景中 AActor 绑定的物理对象加入到导出容器内,经由...