自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 颜色空间 Color Space

采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。上面这幅图像,有一个“舌形”色域空间,是人眼能够辨别的色彩空间,它的边缘围绕一道从波长从380到700(nm)的光谱,中间就是用红、绿、蓝三种颜色按不同比例调配出来的颜色。大概过了两年,Adobe推出了Adobe RGB标准,色域要比sRGB的范围更宽广,这几年上面这幅图像,有一个“舌形”色域空间,是人眼能够辨别的色彩空间,它的边缘围绕一道从波长从380到700(毫微米)的光谱,中间就是用红、绿、蓝三种颜色按不同比例调配出来的颜色。

2024-06-18 15:41:04 901

原创 Cmake用法 和 遇到 <‘cmake‘ 不是内部或外部命令 也不是可运行的程序 或批处理文>的解决方法

有时候我们会遇到需要cmake指令来编译项目或生成VS .sln文件。通常的做法是1、找到包含CMakeLists.txt文件的路径,2、在此路径进入命令行模式,3、直接输入cmake指令一般情况下,完成以上3步cmake就完成工作了。!!但是有时候会报错:‘cmake' 不是内部或外部命令 也不是可运行的程序 或批处理文。遇到这种情况,需要排除原因:1、首先要确认自己是否安装了cmake。(没有安装需要去官网下载安装)2、确认自己电脑的系统变量Path中是否包含cmake.

2022-04-21 18:58:34 10242

原创 编译器内置宏的使用

前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏开关:#define __DEBUG当需要调试的时候,使用语句:#ifdef __DEBUGprintf(xxx

2022-01-26 16:23:51 393

原创 UE4 出现野指针的情况和解决方案

一、出现野指针的情况 UE4对UObject的自动析构机制,UE4会在UObject对象没有任何引用时候自动回收该对象。例如我先在UObject类中声明了一个UDataTable* myDT指针,并在程序启动后load一次;并在特定时候调用myDT。但是编辑器状态下正常,打包后调用几次后就出现野指针了。UDataTable* myDT = nullptr;myDT = LoadObject<UDataTable>(NULL, TEXT("DataTable'/Game/x...

2021-11-16 14:18:50 2168

原创 Beyond Compare 过期解决办法

1 window+R打开运行界面,在输入栏中输入 regedit :2 打开注册表,按下图路径找到beyond compare4:右侧目录中有个cacheId,删除就行,图中已经删除完成了。3 找到上图中beyond compare4的安装路径,删除路径下的BCUnrar.dll文件再次打开beyond compare,右下角显示依然在评估模式中:...

2021-11-09 17:31:04 9820 2

原创 C++类中使用函数指针

#include <iostream>#include <stdio.h>using namespace std;class Ctest{public: int a = 10; int* p = &a;//静态函数 static void statFunc() { cout << "This is statFunc" << endl; } //void(*pstatFunc)() = &statFunc;在类.

2020-12-30 11:20:57 1932 1

原创 编译原理--符号表

符号表经过编译后,代码中的各种符号都被分配了地址,比将各种信息记录在符号表中,当符号在被用到时,系统去符号表里查询地址,类型等信息。符号表用来体现作用域与可见性信息,符号表中语言符号可分为关键字符号,操作符符号及标识符符号,符号表的作用:1、收集符号属性;(词法分析)2、上下文语义的合法性检查的依据;(语法分析)3、作为目标代码生成阶段地址分配的依据;(语义分析)符号表中的标识符一般设置的属性项目有:1、符号名2、符号的类型3、符号的存储类别4、符号的作用..

2020-12-02 09:33:37 11602 5

原创 图形学原理总结

灯光、摄像机的坐标空间 假设某一个灯光、摄像机原始的坐标空间为(u、v、w),经过平移矩阵和旋转矩阵相乘后,这个灯光或摄像机的坐标空间为(u' ,v' ,w')。此时因为只有平移和旋转,所以u' ,v' ,w' 还是单位向量。此时有一个顶点A(x,y,z),则A顶点在灯光或摄像机坐标空间的位置(x' ,y' ,z')=(u' ,v' ,w')(x,y,z)= u' x + v’y + w'z 。u'x=|u'||x|cosa,又因u'是单位向量,所以u'x=|x|cosa,即x在向量u'上的投影.

2020-11-06 11:47:01 610

原创 【UE4 C++学习】Fstring

C输出字符串 输出字符串到output log中 输出字符串到屏幕上 字符串转换 Converting FString to FNames Converting stdstring to FString Converting FString to stdstring Converting FString to Integer Converting FString to Float Converting FloatInteger to FString UE4 Source

2020-09-21 11:11:01 1164

原创 UE4 C++调用蓝图方法(BlueprintNativeEvent、BlueprintImplementableEvent)

BlueprintNativeEvent在ue4中是用来修饰UFUNCTION的,和BlueprintImplementableEvent有点类似,BlueprintImplementableEvent用于实现C++调蓝图(声明在C++,实现在蓝图)BlueprintNativeEvent除了实现C++调用蓝图外,同样会调用一个本地方法,本地方法为 声明的函数名+_Implementation这样就可以实现一次调用,两个实现(c++实现,蓝图实现)BlueprintNativeEvent还有

2020-09-11 11:01:16 7529

原创 UE4.22 安装CodeWorks for Android时,Installing USB Driver 11 failed解决方案和打包错误总结

1、窗口显示没有找到环境变量PATH,搜索找到wmic的路径2、我的电脑--属性--高级系统设置---高级--环境变量,将PATH设置为C:\Windows\System32\wbem (如果没有PATH就新建一个)3、环境变量修改之后,重新启动Chooser.exe,就能安装成功了...

2020-09-09 13:30:52 525

原创 UE4,安装CodeWorksforAndroid时,下载组件失败的解决方法

一、问题原因:国内网络限制,以http://dl-ssl.google.com/开头的组件链接不能访问。二、解决方法:Google应该是针对国内网络提供单独的下载服务器链接,以https://dl.google.com/开头。在C:\NVPACK\(默认安装目录)目录下可以看到一个本地下载配置文件“local.ini”。配置文件是JSON的数据格式,根据CodeWorksforAndroid下载组件页面,找到对应的链接(根据“Package”名字查找后,再对比JSON数据的名称),将含h

2020-09-09 10:22:48 1413 3

原创 UE4光照构建失败 Lighting build failed. Swarm failed to kick off

今天遇到个光照构建失败的情况,检查后确定场景中灯光没有问题。查找资料后可通过以下三个步骤解决:Delete the stuff in this folder (or equivalent location – wherever your engine is installed.) E:\UnrealEngine-4.24\Engine\Saved\Swarm\SwarmCache 2.Delete all the stuff in this folder (or e...

2020-09-08 15:10:29 2454 1

原创 UE4的渲染流程

虚幻引擎在FEngineLoop::PreInit中对渲染线程进行初始化。渲染线程的启动位于StartRenderingThread全局函数中。创建渲染线程类实例 通过FRunnableThread::Create函数创建渲染线程 等待渲染线程准备好,从TaskGraph取出任务并执行 注册渲染线程 创建渲染线程心跳更新线程渲染线程的主要执行在全局函数RenderingThreadMain中,游戏线程会借助EQUEUE_Render_COMMAND宏,向渲染线程的TaskMap中添加渲染任

2020-08-12 10:31:24 7100 2

原创 《大象无形:虚幻引擎程序设计浅析》

一、对象销毁纯C++类销毁尽量不要使用new、delete方案,可以使用智能指针。智能指针会使用引用计数来完成自动的内存释放。使用MakeShareable函数可以来转化普通指针为智能指针。TSharedPtr<YourClass> YourClassPtr = MakeShareable(new YourClass());UObject类无法使用智能指针来管理UObject对象。UObject类采用自动垃圾回收机制。当一个类的成员变量包含指向UObjec..

2020-08-12 10:27:54 1851

原创 私有IP和公有IP的区别

什么是IP?在网络中,每台计算机都有一个唯一的地址,方便别人找到它,这个地址称为IP地址IP地址是一个网络编码,用来确定网络中的一个节点,是由32位的二进制组成IP地址的组成?IP地址由网络部分和主机部分两部分组成网络部分标示不同的网络主机部分标示在一个网络中特定的主机IP地址的分类?IP地址的网络部分是由internet地址分配机构来统一分配的,这样可以保证IP的唯一性IP地址中全为1的IP即255.255.255.255 它标示限制广播地址,如果将其作为数据包的目标地址

2020-08-07 17:15:13 5236 3

原创 VS快捷键及调试方法(含VAssistX快捷键)

VS快捷键Tab:缩进Ctrl+A :全选Ctrl+C:选中某个字符时,复制这个字符 当鼠标在某一行时,复制这一行Ctrl+X:选中某个字符时,剪切这个字符 当鼠标在某一行时,剪切这一行Ctrl C + Ctrl V:复制当前行,并且粘贴到下一行.Ctrl+L:删除一整行代码,只需将光标移至该行,再使用该组合键来完成剪切操作,而无需选择整行。Ctrl+Enter:在当前行的上面插入一个空行;Ctrl+F: 查找C...

2020-08-07 17:12:32 1944

原创 修改VS2017解决方案配置菜单窗口的宽度

点击菜单中,工具->自定义->命令->工具栏->标准->解决方案配置,右侧修改,选择合适的宽度即可:

2020-08-07 16:57:58 1818

原创 Node.js总结

NPM : (node package manager)NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。...

2020-07-16 11:31:28 105

原创 国内免费可用的stun服务器(2020.7.14)

端口号都是3478stun.xten.com stun.voipbuster.com stun.sipgate.net stun.ekiga.netstun.ideasip.comstun.schlund.destun.voiparound.comstun.voipbuster.comstun.voipstunt.comstun.counterpath.comstun.1und1.destun.gmx.netstun.callwithus.comstun.cou...

2020-07-14 10:14:45 54243 2

原创 UE4 C++常用方法总结

1、常用宏 UPROPERTY(EditAnyWhere,BlueprintReadWrite,Category="xxx") UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Zed|Components") UStaticMeshComponent* FinalLeftPlane;UFUNCTION(BlueprintCallable,Category="xxx")void FuncA( );2、程序中控制鼠标的显..

2020-07-13 11:32:33 2722

原创 UE4 AudioCapture录音插件

UE4: How to use the new AudioCapture component to record microphone audioThere are two functions for recording audio:* Start Recording Output* Start Recording Submix OutputSteps:1. Follow this quick start guide to activate the new audio engine2. In

2020-06-28 17:14:27 4574

原创 NAT、Napt(地址转换技术)详解

NAT的由来IPv4即网际网协议第4版——Internet Protocol Version 4的缩写。IPv4定义一个跨越异种网络互连的超级网,它为每个网际网的节点分配全球唯一IP地址。如果我们把Internet比作一个邮政系统,那么IP地址的作用就等同于包含城市、街区、门牌编号在内的完整地址。IPv4使用32bits整数表达一个地址,地址最大范围就是232 约为43亿。以IP创始时期可被联网的设备来看,这样的一个空间已经很大,很难被短时间用完。然而,事实远远超出人们的设想,计算机网络在此后的几十年里

2020-06-23 11:31:45 69685

原创 Unicode 和 UTF-8 的区别

Unicode 和 UTF-8 的区别Unicode 是一个字符集。 UTF-8 属于编码。Unicode 是具有唯一十进制数字(代码点)的字符列表。 A = 65,B = 66,C = 67,....这个十进制数字表示字符串“hello”:104 101 108 108 111编码指的是如何将这些数字转换成存储在计算机中的二进制数字:UTF-8 编码将像这样存储“hello”(二进制):01101000 01100101 01101100 01101100 01101111编码将数

2020-06-12 15:32:44 185

原创 C++ 宏定义函数(单行和多行)

先总结和宏和函数的不同之处,以供大家写代码时使用,这段总结摘自《C和指针》一书。 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。宏定义中允许包含两行以上命令的情形,此时必须在最右边加上”\”且该行”\”后不能再有任何字符,连注释部分都不能有,下面的每行最后的一定要是”\”,”\”后面加一个空格都会报错,更不能跟注释。  我们来看一个例子,比较两个数或者...

2020-06-03 15:11:20 4331

原创 C++中的#、##运算符和__VA_ARGS__宏

#:构串操作符构串操作符#只能修饰带参数的宏的形参,它将实参的字符序列(而不是实参代表的值)转换成字符串常量#define STRING(x) #x#x#x#define TEXT(x) "class"#x"Info"//宏引用:int abc = 100;STRING(abc);TEXT(abc);//替换结果:abcabcabcclassabcInfo##:合并操作符合并操作符##将出现在其左右的字符序列合并成一个新的标识符注意:使用合并操作符##时...

2020-06-03 13:08:05 533

原创 编译原理学习--编译以及编译过程

转载:【龙书】编译原理(第二版)学习与理解:1.也许我们这辈子都不会去实现一个编译器,但是我们至少要知道编译器是什么?为什么会需要编译器?①编译器首先也是一种电脑程序。它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。②高级计算机语言便于人编写,阅读,维护。低阶机器语言是计算机能直接解读、运行的。编译器主要的目的是将便于人编写,阅读,维护的高级计算机语言所写作的源代码,翻译为计算机能解读、运行的低阶机器语言的程序。编译器将原始程序(Source program)作.

2020-06-02 16:28:16 1108

原创 UE4 删除C++类、拷贝C++类到本项目

步骤:1. 关闭visual studio2. 关闭UE4编辑器3. 删除项目中Soure文件夹中的你想删除的.cpp和.h文件4. 删除项目中的Binaries文件夹5. 右键. uproject文件,点击Generate Visual Studio project files6. 重新打开工程7. 如果提示需要重新编译项目,点yes...

2020-05-15 18:09:27 1602

原创 UE4 HLSL Tools For Visual Studio插件(包含.ush ,.usf 如何语法高亮)

HLSL Tools for visual studio使用说明:https://marketplace.visualstudio.com/items?itemName=TimGJones.HLSLToolsforVisualStudio安装此插件后,HLSL就可以语法高亮、智能提示、实时报错等功能了,但是.ush .usf文件还是灰白一片,如何使.ush 、.usf文件能使用hlsh一样...

2019-10-10 15:20:24 6266

原创 UE4打包设置和步骤(打最小的包)

打包设置:1、Maps&Modes -> GameDefaultMap 设置默认加载的map (箭头1)2、Packaging -> Cook only maps(this only affects cookall) 设置为True (箭头2)3、Packaging -> List of maps to include in a packaged bui...

2019-08-05 14:21:31 9717

原创 UE4开启实时光线追踪

系统要求:1、Windows 10 RS5 (Build 1809) or later2、NVIDIA RTX and some GTX series cards with DXR support using the latest device drivers.3、UE Version 4.22 or later启用光线追踪:1、ProjectSettings设置Defau...

2019-07-18 11:19:15 30745 5

原创 UE4 无法打开源文件 Actor.generated.h

有时候新建的C++类的头文件的#include “Actor.generated.h ”会报红,这时可以在VS里面 “解决方案里面“ 先把 developmen editor 该为 debuggame editor ,然后点击项目,重新生成,生成成功后再改回 developmen editor,这样基本就解决了。...

2019-06-14 13:20:51 9264 3

原创 UE4蓝图类Event和Function的继承和重载

1、属性继承:子类继承了父类的所有属性2、方法重载:子类重载了父类的方法和事件3、子类继承父类的方法和事件:在子类重载(override)的方法上右键,选择add call to parent function,即可添加Parent:方法,后边可以继续加一些其他内容...

2019-06-05 15:07:46 4660

原创 UE4控制Character不受重力影响

最开始的设置CapsuleComponent的enable Gravity为false,结果不管用。经过尝试后,发现应该在Character Movement组件中进行设置:1、选择character movement组件2、设置GravityScale为0...

2019-04-29 10:00:10 7830 10

原创 UE4窗口模式切换,修改窗口大小

在UE4工程目录下找到与Content文件夹同级别的Save文件夹。在Saved/Config/Windows文件夹中,将GameUserSettings.ini拷贝到打包后的文件路径:WindowsNoEditor/项目名/Save/Config/WindowsNoEditor文件夹中(这个文件夹只有打包后的.exe文件运行过一次才会出现)。该文件内容如下:[/Script/Engine...

2019-04-24 11:32:23 14304

原创 Houdini 中DOP CHOP SHOP SOP VOP是什么?

Objects Object scene 场景描述模块SOPs Surface OPerations 表面编辑模组POPs Particle OPerations 粒子编辑模组CHOPs CHannel OPerations 通道编辑模组COPs Compositing OPerations 图像合成模组SHO...

2019-04-11 14:36:47 9579

原创 Python 中文注释报错

当输入中文注释时,运行程序会报错:解决办法:在python脚本问价的第一行加一句: #coding:utf-8 

2019-02-15 11:13:33 526

原创 zip() 和zip(*)的区别 -- Python

可以看成是解压和压缩的区别,zip相当于压缩 ,      zip(*)相当于解压。举例说明:x=["a","1"]y=["b","2"]z = list(zip(x,y))print (list(zip(x,y)))print (list(zip(*z)))结果为:[('a', 'b'), ('1', '2')][('a', '1'), ('b', '2')]z...

2019-02-14 15:28:48 1049 1

转载 UE4光照及阴影

UE4中的所有光源通过lightmass和直接两种方式作用于物体。同时灯光分直接光和间接光。各种灯光的Movable和Stationary类型都会对物体产生直接光照明。所有Static类型灯光,自发光材质物体以及Stationary经过lightmass后会对物体产生间接光照明。反射也是一种间接光照明(动态天光产生的天光反射属于直接光)直接光都是动态光,可以实时变化颜色,亮度等等。所有的间接...

2018-12-14 16:46:44 24512

转载 UE4 性能优化方法(转载)

首先建议先看这篇官方文档,讲解的很详细。 https://docs.unrealengine.com/latest/CHN/Engine/Performance/index.html戏帧率很低,或者有卡顿的现象,可能会有很多原因,这时候不要乱猜,比如是不是人物太多了或者渲染的东西太多了,这样猜意义是不大的,可能会浪费很多时间,但是总找不到点上,当然如果运气好也可以找到瓶颈,这个时候我们可以借助...

2018-08-16 13:44:20 2207 1

Blender2.8 快捷键pdf

14页的pdf,每个快捷键都罗列了2.8和2.79的区别,非常实用

2019-09-02

UE4 C++开发超好用的VS插件 Visual Assist X 10.9.2301

亲测可用,内涵UE4的插件设置,从此敲C++代码的速度就起飞了

2019-08-26

Houdini 16 离线中文手册

Houdini中文手册,方便随时查看。希望对你有所帮助,共同进步....

2019-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除