Unity反应式编程库R3
安装方式一:1.unity包管理器安装NuGetForUnity2.从NuGet打开窗口 -> 管理NuGet包,搜索“R3”并按安装。 方式二:通过git URL直接安装:https://github.com/Cysharp/R3.git?path=src/R3.Unity/Assets/R3.Unity 反应式X(Reactive X) ReactiveX 是一个库,用于使用可观察序列编写异步和基于事件的程序。它扩展了观察者模式以支持数据和/或事件序列,并添加了运算符,允许您以声明方式将序列组合在一起,同时抽象出对低级线程、同步、线程安全、并发数据结构和非阻塞 I/O 等问题的关注。 ReactiveX的操作符 创建可观察序列:创建新事件源的操作符。 Create : 通过调用观察者的方法从无到有创建一个事件源 Defer : 在观察者订阅之前不会创建事件源,并为每个观察者创建一个新的事件源 Empty/Never/Throw : 创建具有非常明确和有限行为的事件源 From : 将一些其他对象或数据结构转换为事件源 Interval :...
hexo图片加载问题
hexo无法加载本地图片的问题1. 下载hexo-asset-image插件1npm install hexo-asset-image --save 2. 修改_config.yml文件,将hexo-asset-image设置为true3. 新建文章 hexo new “我的文章”, 然后在文章中插入图片,如:1![](我的文章/logo.png) 4. 如果图片还不能显示,这是插件bug未修复解决方案: 找到node_modules\hexo-asset-image\index.js文件 找到if(/.*/index.html$/.test(link)) (大概在17行左右) 修改成如下代码 12345678910if(/.*\/index\.html$/.test(link)) { ...}else if (link.charAt(link.length - 1) === '/') { // link 是文件夹路径情形时 var endPos = link.length -...
PBR理论和渲染原理
PBR是什么?Physically Based Rendering,即基于物理的渲染。这是一种计算机图形学中的着色方法,它基于物理原理,而不是基于像素或顶点的颜色。PBR的主要思想是,物体的外观应该受到光照、材质、视角、距离、光线的影响,而不是受到像素或顶点的颜色影响。其目的在于,让渲染更加真实、更加自然。站在程序角度看,它可以使我们把材质与光照解耦。 PBR理论包括: 微平面模型、能量守恒、菲涅尔反射、线性空间和伽马矫正、色调映射、材质的光学特性、基于物理的光照模型、基于物理的渲染方程。 正因为PBR基于物理原理,这种方式与原来的Phong 或...
渲染流水线
渲染流水线参考书籍《Unity Shader入门精要》 渲染流水线是指将场景中的物体从摄像机视角投射到屏幕上,经过各种处理后最终呈现在屏幕上的过程。 当前,游戏引擎的渲染流水线一般分为三个阶段:应用阶段、几何阶段、光栅化阶段。另外,游戏引擎还会有一些其他阶段,如屏幕后处理阶段。 应用阶段 准备基本场景数据: 物体Transform数据:位置、旋转、缩放。 物体网格数据:顶点、法线、切线、UV坐标等。 光照数据:光源类型(平行光、点光源、聚光灯、环境光)、光源位置、方向、颜色、阴影(光源可见范围内是否有投射阴影的物体)、阴影参数等(光源序号、阴影强度、级联参数、深度偏移、近平面偏移等)。 摄相机数据:位置和方向、远近裁剪平面、正交、透视(FOV)、视口比例和尺寸等。 加速算法、粗粒度剔除:...