- 博客(43)
- 收藏
- 关注
原创 【C++进阶知识】02 - RVO优化、值类别、forward、move
主要介绍编译器的RVO/NRVO优化、左右值引用、值类别和转发等的详细内容。
2023-07-24 16:04:31
440
原创 【面试题】C++向(持续更新)
在函数参数中加了const&和const如果是,那么会复制一份,调用拷贝构造函数,在函数内部不可对其进行改变。如果是const &,那么传入的值,就是str,不会调用拷贝构造函数,在函数内部不可对其进行改变。因此,(1)在函数参数中加了,相当于不会调用拷贝构造函数,即const &会少调用一次拷贝构造。(2)如果你不想在函数内部改变其函数参数的值,那么可以加上const防止其值的更改。
2023-06-15 23:48:23
128
原创 UE的AI基础(2)EQS
使用EnvQueryContext_BlueprintBase(EQC)作为环境查询情景,在蓝图中,通过重载函数进行目标的返回。
2023-06-11 10:08:39
1152
原创 UE高级运动系统(ALSv4)解构(02)进阶知识
这和UI动画的Trigger和Repeater类似,Notify是一瞬间发出的,而Notify State会持续一段时间。同时,只是针对于这一种动画蓝图,不同的动画蓝图无法共享。
2023-06-08 22:08:05
1402
原创 UE高级运动系统(ALSv4)解构(01)基础知识
在开始解构ALSv4之前,我们需要了解运动、动画相关的基础知识,在本节主要记录这些基础知识。
2023-06-07 15:45:32
2003
原创 UE的MySQL插件实现(登录、注册)
我们创建一个Log文件夹,并新建.h文件,文件编码一定使用UTF-8。* DeBug信息的几种方式:* 1. 打印到屏幕窗口* 2. 打印到日志* 3. 右下角显示一个对话框* 4. 屏幕中央弹出一个msg*/我们就可以使用UE_Log()中,使用我们创建的这个文件,用来打印日志。日志打印的内容是在中,在文件中输入上面的名称,如打印内容进行查找。注意:如果是程序崩溃,也是/Saved文件夹中进行查找。
2023-06-06 17:12:09
1305
原创 UE的AI基础(1)简单的AI基础
(1)首先,命名为NPC。在NPC蓝图类中,Mesh的Skeletal Mesh选择对应的骨骼,Animation选择对应的动画蓝图。(2)。(3)新建,命名为NPC_AI,并在NPC蓝图类中的类默认设置中,把AI Controller Class选择为这里新创建NPC_AI。(4)(Behavior Tree和Blackboard)。
2023-06-03 21:18:35
955
原创 GAMES101: 现代计算机图形学入门(2)几何、光线追踪
注意:规定光线沿直线传播,不考虑其波动性,光线与光线之间不会碰撞,所有的光线可理解为光源射向我们的眼睛。我们将光线理解为从一个点出发,向某一方向发出的射线。注意:光线定义中的r(t)一定是一个点。
2023-05-24 19:59:54
747
原创 GAMES101: 现代计算机图形学入门(1)变换、光栅化、着色
光照模型中都有光照的系数,而那个系数是根据物体上着色点的属性所决定的,因此我们需要每个点都有自己的基本属性,即纹理映射。注意,任何一个三维物体的表面是可以展开成二维的。纹理:纹理就是一张uv坐标的图,首先我们不管怎么展成纹理uv坐标的,我们认为每个三维表面的任意点都在uv上对应。注意:(1)纹理一般可以反复运用,无缝衔接。(2)定义的区别:纹理是希望着色的不同而定义的每个点的基本属性;材质就是着色方式的体现,材质的不同就是着色方式的不同。
2023-04-29 18:56:30
342
原创 C++基础知识(8)异常处理
异常:程序在执行期间产生的问题。C++异常处理提供的三个关键字:(1):当问题出现时,程序会通过throw来抛出一个异常。(2):在你想处理问题的地方,通过catch来捕获异常。(3):try通常后面跟着一个catch或多个catch块。
2023-04-11 23:13:05
119
原创 C++基础知识(6)IO库
IO就是input,output的缩写,也就是输入输出功能。:磁盘与输入输出设备的交互只能通过内存来中转。因此我们主要引入iostream,fstream,sstream头文件进行操作。
2023-04-11 22:53:16
863
原创 C++基础知识(5)STL标准库
是一种数据结构,也就是真正用来存储数据的地方。(1)顺序式容器(2)关联式容器(3)无序式容器:无序式容器也是一种关联式容器。:提供了可以访问任何容器的方法。:用来操作容器中的数据的模板函数。
2023-04-11 22:45:43
547
1
原创 C++基础知识(4)模板与泛型编程
(1)模板能实现其他语法难以实现的功能。(2)模板分为类模板和函数模板,函数模板又分为普通函数模板和成员函数模板。
2023-04-11 21:59:57
87
原创 C++基础知识(3)智能指针
上述代码,testPtrMian()结束后,释放sharedPtrA,sharedPtrB,此时指向A的计数为1,指向B的计数为1,因为A、B存在指向,所以不会调用析构函数,更不会释放成员变量。这是因为shared_ptr的大小固定为8或16个字节(两倍指针大小,32位系统指针为4个字节,64位系统指针为8个字节,即shared_ptr中有两个指针),所以。(1)我们在分配内存时,堆上的内存必须通过栈上的内存来寻址,即通过栈上的指针来寻址堆内存,也是唯一的方式。函数,只能使用C语言的指针。
2023-04-11 17:39:46
300
原创 C++基础知识(1)基本特性
临时对象都是右值,而右值引用主要负责处理临时对象,程序执行时生成的中间对象就是临时对象,临时对象产生后很快就会被销毁。就是匿名函数,普通的函数在使用前需要将这个函数定义,因此提供了lambda表达式,省去了定义函数的过程。如果一个对象可以使用运算符 “()” ,()里面可以放参数,那么这个对象就是可调用对象。具有operator()的函数的类对象,此时类对象可以当做函数使用,称为仿函数。指针都是存储在栈上或者堆上的,不管在栈上还是堆上,都一定有一个地址。:以a的值为地址的地方所存储的值。
2023-04-09 11:39:55
179
原创 UE4的取色器实现
根据角度计算出颜色盘不同对应RGB值。:白色 → 对应HSV(H,1,1)仿照UE4取色器对颜色盘进行分析。RGB可以直接转换为HSV。颜色渐变可以用材质直接解决。:黑色 → 选取颜色值。
2023-04-03 19:27:10
669
原创 UE4的视频播放(Media Player)
首先将需要播放的视频拖入。创建Media Player和Media Texture。创建Material,将材质改为User Interface。在UI界面,创建Image,将这个材质装入。在人物Pawn界面添加Media Sound组件并将小电视拖入。在对应UI界面实现对应播放逻辑即可完成播放。
2023-03-29 17:13:09
5176
1
原创 UE4物体随着样条线(Spline)运动
一定要经过起止点,若干个控制点用于控制曲线弯曲的方向,最终形成一条。由于贝塞尔曲线点太多了不好控制,一般每四个点做一次贝塞尔曲线。得到的若干段相邻贝塞尔曲线的连接点需要共线且距离相同,即为(一阶连续可导)。
2023-03-27 11:55:18
3447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人