- 博客(17)
- 收藏
- 关注
原创 【UE教程/进阶】UE中的指针与引用
本文介绍了虚幻引擎中的各类指针类型及其特性。主要内容包括:直接属性引用在C++和蓝图中的实现方式;裸指针的悬挂指针问题及其解决方案;共享指针TSharedPtr的引用计数机制及循环引用问题;共享引用TSharedRef与共享指针的区别;弱引用指针TWeakPtr解决循环引用的方法;针对UObject对象的FWeakPtr弱指针及其GC机制;以及FSoftObjectPtr软指针通过路径间接引用对象的特性,包括其有效和挂起两种状态。文章系统梳理了虚幻引擎中不同指针类型的实现原理和使用场景。
2025-07-13 19:58:36
1030
原创 【UE教程/进阶】使用Slate
本文介绍了Unreal Engine中Slate UI框架的核心语法和实际应用方式。主要内容包括:1) Slate语法结构,创建控件、设置属性、添加插槽和添加子控件;2) 在Editor中添加控件的两种方式:通过FSlateApplication添加窗口和TabManager管理选项卡;3) 在游戏运行时通过GameViewport管理UI控件的方法。
2025-07-13 19:43:12
455
原创 【TA/Unity】Shader基础语法结构
本文介绍了Unity Shader的基本结构与创建方法。主要内容包括:1)通过Create菜单创建Shader文件;2)Shader的基本语法结构,包含Properties、SubShader和Pass三部分;3)Properties属性的声明与使用方法;4)SubShader的运行机制和Pass渲染管线的工作原理;5)顶点着色器和片段着色器的编写规范,包括结构体定义、变量传递和光照计算。
2025-07-12 16:18:49
602
原创 【node/vue】css制作可3D旋转倾斜的图片,朝向鼠标
本文介绍了如何实现一个Vue 3D倾斜组件,该组件能使子元素跟随鼠标方向倾斜。通过CSS的transform-style和perspective属性创建3D空间,在Vue模板中使用slot插槽实现组件复用,并通过JS计算鼠标位置,实现平滑的3D倾斜动画效果。组件支持调节平滑速度和复位时间参数,适用于图片、按钮等多种元素的3D交互效果展示。
2025-07-12 07:31:19
586
原创 【UE教程/进阶】Slate链式编辑原理
,其实就是调用了重载的[]运算符,将其中的Slate表达式传递给_SlotName结构体中的Widget,并且返回TArgument,实现链式调用。那么,使用+,其实就是调用了重载的+运算符,将需要的Slot添加进Slate的_SlotName数组中,并且这个函数会返回FArgument,就可以链式调用。那么,使用 .参数名(参数) ,其实就是调用了FArgument中的同名函数,设置了相应属性的值,并且这个函数仍会返回FArgument,可以链式调用。正春华枝俏,待秋实果茂,愿与君共勉。
2025-07-11 22:17:11
726
原创 【UE教程/进阶】子系统
Unreal Engine中的子系统(Subsystem)根据父类不同分为五类:引擎子系统(UEngineSubsystem)、编辑器子系统(UEditorSubsystem)、游戏实例子系统(UGameInstanceSubsystem)、世界子系统(UWorldSubsystem)和本地玩家子系统(ULocalPlayerSubsystem)。每种子系统具有不同的生命周期,与其Outer对象(如GEngine、GEditor、GameInstance等)绑定。子系统通过继承相应基类并重载初始化/销毁函数
2025-07-11 21:52:24
1441
原创 【面面俱到/c++】多态的实现(重载、模板、虚函数表、虚基表)
C++多态机制解析:静态与动态多态的实现原理 摘要: C++多态分为静态多态(编译时)和动态多态(运行时)。静态多态通过函数重载、运算符重载和模板实现,编译器根据函数签名或模板实例化选择正确版本。动态多态依靠虚函数机制实现,包括虚函数表(vtable)和虚函数指针(vptr),运行时通过查表确定调用哪个函数。对于多重继承和菱形继承问题,使用虚基表指针(vbptr)解决成员重复问题。静态多态效率高但灵活性有限,动态多态更灵活但有一定性能开销。两者共同构成了C++强大的多态特性体系。
2025-07-10 16:07:58
1278
原创 【面面俱到/c++面试】内存泄漏
C++内存泄漏主要分为五种类型:1)堆内存泄漏,由new/malloc未配套delete/free导致;2)无法释放的泄漏,包括智能指针循环引用和内存丢失;3)系统资源泄漏,如未关闭文件句柄;4)野指针和悬挂指针问题;5)基类析构函数未声明为virtual导致的派生类资源泄漏。解决方法包括:遵循RAII原则、规范指针使用、合理设计类继承关系、配套使用内存管理函数。良好的编程习惯和正确使用智能指针可以有效预防内存泄漏问题。
2025-07-10 14:13:00
998
原创 【面面俱到/c++面试】static关键字
摘要:本文详细解析了static关键字在C++中的三种用法:1)修饰函数局部变量使其只初始化一次且生命周期延长;2)限定全局变量/函数作用域仅在当前文件内;3)声明类静态成员(变量/函数),这些成员属于类而非对象,需类外定义。通过典型应用场景分析,如函数调用计数、命名冲突避免、类公用变量管理等,系统阐述了static的关键特性(作用域、生命周期、访问规则)。文章采用模块化结构,辅以代码示例说明,最后以"待实践"结尾,体现技术文档的实用性特征。
2025-07-09 15:22:16
424
原创 【面面俱到/c++面试】智能指针
本文介绍了C++智能指针的核心概念,包括unique_ptr、shared_ptr和weak_ptr三种类型。unique_ptr独占对象所有权,不可复制但可移动;shared_ptr通过引用计数实现所有权共享;weak_ptr作为观察者指针,不增加引用计数,可解决循环引用问题。文章还剖析了各类智能指针的实现原理,如unique_ptr禁用拷贝构造、shared_ptr的引用计数机制等,并提供了基本用法示例。最后提到将实践实现这些智能指针类的计划。全文简明扼要地阐述了C++智能指针的关键知识点。
2025-07-09 13:58:38
899
原创 【UE论坛】Actor组件、场景组件、基元组件的区别(Actor Component vs Scene Component vs PrimitiveComponents)
Actor组件与场景组件区别?(Actor Component vs Scene Component?)和“原始组件”到底是什么?我应该什么时候使用它们?问答的翻译与理解。
2024-08-01 18:26:24
2546
原创 【UE教程】初识蓝图
**蓝图(Blueprint)** 是虚幻引擎中一个完整的可视化编程系统,使用者可以通过节点与连线来构建脚本逻辑,实现各种游戏功能。蓝图系统易于上手且功能强大,非常适合初学者与非编程工作者。在这一节,我们学习如何管理蓝图,学习蓝图编辑器的页面与各部分功能,学习蓝图节点放置、连接等操作,并编写一个简单的蓝图。
2024-08-01 17:33:49
7051
原创 【UE论坛】选中“在加载时阻塞”有什么作用?(What does checking “Should block on load” do?)
关于 选中“在加载时阻塞”有什么作用?(What does checking “Should block on load” do?)论坛问答的翻译与理解。
2024-08-01 12:12:25
519
原创 【UE教程/进阶】篇——关卡流送(Level Streaming)
关卡流送(Level Streaming)功能可以分块式地加载、显示关卡,将场景拆分为较小的地图块,并且只有相关部分才会占用资源并被渲染。在这一节,我们学习关卡流送的基本逻辑与使用方法。使用关卡流送可以优化游戏性能、制作程序化生成地图,让游戏变得更加优秀。UE学习,与君共勉。
2024-07-31 14:32:05
13172
原创 【游戏像素绘画】瓦片地图
你好! 也许这是你第一次绘制游戏像素画。如果你想学习像素游戏中地图瓦片与基础物体的画法, 可以仔细阅读这篇文章。同时在文章的最后,会有一些练习等待你的完成。
2024-07-28 16:54:16
3856
原创 【UE教程】搭建关卡
学会搭建关卡是开始制作游戏的第一步。本节将会从关卡的管理开始,学习关卡创建、保存、打开;学习Actor的放置、选择、变换等基础操作。帮助你依靠所学知识创建一个关卡,用简单几何体搭建一个简单的场景。
2024-07-28 16:40:53
5765
原创 【UE教程】编辑器页面
认识软件页面是开始学习软件的第一步。本文将从虚幻引擎的布局、编辑器、面板开始讲起,以关卡编辑器为例,向读者介绍虚幻引擎的页面与各页面功能。本节涉及内容较多,建议初学者先浏览一遍,在以后的使用过程中慢慢学习。UE学习,与君共勉。
2024-07-26 17:31:33
8833
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅