自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Shader学习笔记——GPU流水线

(应用阶段)-> 顶点数据,【顶点着色器,曲面细分着色器,几何着色器,裁剪,屏幕映射】(几何阶段),【三角形设置,三角形遍历,片元着色器,逐片元操作】(光栅化阶段),屏幕图像 顶点着色器(Vertex Shader):把顶点坐标从模型空间转换到齐次裁剪空间。o.pos = mul(UNITY_MVP,v.position)再由硬件做透视除法,最终得到归一化的设备坐标(Normal...

2018-11-16 14:56:33 540 1

原创 Shader学习笔记——渲染流水线

工作任务:由一个三维场景出发,生成(渲染)一张二维图像。或者,计算机需要从一系列的顶点数据,纹理等信息出发,把这些信息最终转换成一张人眼可见的图像。这个工作通常由CPU和GPU共同完成。三个阶段:应用阶段->几何阶段->光栅化阶段应用阶段:输出渲染图元传递给下一阶段。CPU处理几何阶段:绘制图元,输出屏幕空间的二位顶点坐标、每个顶点对应的深度值、着色等相关信息传递给下一...

2018-11-16 14:52:23 278

原创 DP思想 之 Matrix-chain multiplication(矩阵链相乘问题)

一.矩阵链复杂度计算(根据两两相乘计算次数):假设有A1(10*100),A2(100*5),A3(5*50)三个矩阵((A1A2)A3) 计算顺序使用到的乘法次数为:10*100*5 + 10*5*50=7500次(A1(A2A3)) 计算顺序使用到的乘法次数为:100*5*50 + 10*100*50=75000次二.矩阵链相乘组合方式的计算(括号组合的方式):假设有矩阵链...

2018-09-01 16:27:27 1620

原创 《游戏引擎架构》阅读笔记

4.2 Points And Vectors(点和向量):direction+direction=directiondirection-direction=directionpoint+direction=pointpoint-point=directionpoint+point=nonsense5.2.1 Optimizing Dynamic Memory Allocation(动态内存管理)K...

2018-07-15 17:26:33 314

原创 虚幻4中用C++代码创建UI控件

1.加载UserWidgetvoid AUserWidgetContainer::CreateUserWidgetInstance(EUserWidget name, const FString path){ UClass* widgetClass = LoadClass<UUserWidget>(nullptr, path.GetCharArray().GetData()); ...

2018-03-08 14:05:53 9060 4

原创 虚幻4 StereoPanorama全景图插件

之前一直用Nvidia的Ansel截图工具,有几个缺陷:1.虽然效果好,图片对场景的还原度高,但由于是屏幕截图,分辨率受限2.只能用于N卡3.无法实现自动化,需要手动操作去截图StereoPanorama插件是渲染出图,还原度相对较高,是虚幻4自带的插件,能够直接修改底层源码。1.将引擎目录下Plugins里的StereoPanorama文件夹剪切,放到项目的Plugins文件夹中2.在Build...

2018-03-08 13:56:24 2955 1

原创 UE4 中的Module与插件

一、新建模块(Module)(1)在编辑器中打开项目名.uproject文件,可以并按格式添加新模块{ "FileVersion": 3, "EngineAssociation": "4.15", "Category": "", "Description": "", "Modules": [ { "Name":

2018-03-04 14:13:44 6807

原创 UE4全景插件Nvidia Ansel Photography

UE4 全景拍照

2017-12-01 23:06:41 2712

原创 UE4中实例化游戏对象的方法

1.Components:UMeshComponent* meshComponent = CreateDefaultSubobject("MeshComponent");(组件的创建一般在构造中完成)2.UObjects:UElementStructure* structure = NewObject(GetTransientPackage(), UElementStructu

2017-11-11 23:18:28 4020

原创 独立小游戏开发总结

《Tactera全息指挥官》作为一款VR版沙盘对战游戏,科技感爆棚。… 主要有以下几个地方值得深入学习和研究: 1.UI界面设计 2.游戏交互方式经典VR游戏《全息指挥官》临摹-战斗场景分析 经典VR游戏《全息指挥官》临摹-地形创建 经典VR游戏《全息指挥官》临摹-UI搭建一、整体结构 二、有限状态机FSM实现对场景中兵种的控制。 有三种状态: 待命(PatrolState) 移动

2016-10-18 22:26:54 613

原创 Unity相机控制小技巧

开始做一些RPG或者其他涉及到视角运动的游戏时,发现对摄像机的控制很头疼,有时可能需要同时控制摄像机的跟随、旋转、拉远拉进,一不小心就会乱套。我们可以利用分解思想,将大问题拆分为小问题来分析这个问题。我们考虑相机运动有多少种运动状态:跟随主角、朝向主角、沿Z轴拉进拉远、沿X、Y、Z轴旋转,一共六种方式。如果直接在摄像机上对这六种状态进行控制就会很乱,我们可以考虑循环嵌套的方式,将摄像机放在一层层空物

2016-10-16 11:37:07 2397

原创 Unity中对象池的应用

很多情况下,我们需要创建许多对象,例如发射子弹,或者生成大量的AI小兵,这时如果不断重新的生成和销毁对象代价会很大,所以我们考虑使用对象池技术来管理需大量生成的对象。 对象池中存储的对象的数量等于场景中能够同时存在的最大数量,例如当你点击发射子弹的手,对象池中存在的对象最大数就与你的手速成正比。1.ReuseObject接口创建一个接口,用于限定对象池中所保存的对象的基本行为:public int

2016-10-15 11:34:06 627

原创 递归算法-扫雷

一直觉得扫雷的算法很神奇,研究了一下,其实就是简单的递归算法。核心在于遍历每个格子周围的八个格子,计算雷数:雷数大于0时显示雷数,雷数等于0时不显示数字,并且利用递归方法自动点开周围的格子。格子类public class Grid{ public bool IsLei; public bool IsClicked; public int Count;}扫雷地图类publ

2016-09-24 21:17:43 6581 2

原创 C#自定义链表

C#中的链表结构在程序中十分常见,用处很广。 链表结构中,每个节点由值部分和指针部分组成,值部分即存储的数据,指针指向下一个节点,从而使得每个节点能够连接起来,值和指针就像骨骼和关节一样。一、节点结构自定义链表,首先定义出节点的结构,用类表示为:public Class Node<T>{ //不确定value的值类型所以用泛型public T value; //值

2016-09-23 11:47:48 2181

原创 Unity中利用A*算法实现简单寻路

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-09-22 22:31:50 1424

空空如也

空空如也

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

TA关注的人

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