miaobeihai的博客

动脑,动手,开口

foreach和Stringbuilder内存探究

ILSPY使用指南: http://blog.ctrlxctrlv.net/unity-decompile-dll-ilspy-for-mac/ for 与 foreach 真相 目的 在 Mono 下,研究两种不同方式的 GC 情况。 环境 同简介中的环境 测试代码 usingUni...

2019-06-18 20:23:43

阅读数 18

评论数 0

ECS初探

以一个简单的ECS demo为例子对ECS进行总结: https://github.com/fansongy/SampleECS 导入Entities package,Unity2018版本以上。 可以在一下路径查看ECS源码,建议用everything搜索一下 C:\Users\miao...

2019-06-02 11:32:09

阅读数 22

评论数 0

第五章 纹理贴图及相关技术

1、纹理、纹素和纹理管线。 2、凹凸贴图及改进 纹理、纹素和纹理管线。 简单来说,纹理(Texturing)是一种针对物体表面属性进行“建模”的高效技术。图像纹理中的像素通常被称为纹素(Texels),区别于屏幕上的像素。根据 Kershaw 的术语,通过将投影方程(projector...

2019-05-26 10:09:08

阅读数 112

评论数 0

第四章 图形渲染与视觉外观

三种着色处理方法。 抗锯齿总结 透明排序 伽马校正 三种着色总结: 1.平滑着色(Flat shading):简单来讲,就是一个三角面用同一个颜色。如果一个三角面的代表顶点(也许是按在 index 中的第一个顶点),恰好被光照成了白色,那么整个面都会是白的。 2.高洛德着色(Gouraud...

2019-05-26 10:06:30

阅读数 169

评论数 0

第三章 GPU渲染管线与可编程着色器

1、请描述GPU的工作原理和架构,在可编程渲染管线中的作用。 2、请简述GPU渲染流程中,各个可编程着色器的作用 请描述GPU的工作原理和架构,在可编程渲染管线中的作用。 从硬件来说: SP:最基本的处理单元,streaming processor,也称为CUDA core...

2019-05-26 10:00:55

阅读数 76

评论数 0

第二章 图形渲染管线

请简述一下图形渲染管线流程。 请描述和推导下MVP变换(特别是投影变换) 渲染管线: 最好能达到口述:渲染管线的主要功能是在给定场景,在物体,相机,光源等等条件下,生成一幅二维图像的过程。在概念上可以分为3个阶段:应用阶段、几何阶段和光栅化阶段。 应用阶段一般是cpu与内存的...

2019-05-26 09:57:57

阅读数 52

评论数 0

shader中的法线变换

总结起来有两个,一个是基本的转换,单纯的模型空间转换到世界空间,第二个是需要法线贴图时(Bump Textrue)的时候就转换到切线空间下进行计算。 1.从“模型空间”到“世界空间”(Object To World): (1)方法1,使用和“顶点”到“世界”变换矩阵的“逆转置矩阵“对法线进行相...

2019-04-08 13:06:20

阅读数 53

评论数 0

unity协程的实现

usingSystem; usingSystem.Collections; usingSystem.Collections.Generic; namespaceCSharpearning { publicclassCoroutine { internalIEnumeratorenumerator;...

2019-03-29 10:49:16

阅读数 54

评论数 0

计划

给自己定一个目标: 2个月内自己写一个简单的shader库。。 3个月内刷200道leetcode题,同时弄懂ecs,NPR,应用quadtree

2019-03-21 15:58:08

阅读数 21

评论数 0

Asset Bundles vs. Resources: A Memory Showdown

For those of you just looking for the TLDR: They don’t, or rather in the long run Asset Bundles will have a much lower memory overhead if you take ad...

2019-03-04 10:39:22

阅读数 96

评论数 0

IEnumerable、foreach和GC

今天在某些代码中看到了一种对Dictionary的遍历方法 private Dictionary<uint, uint> _SkillDicts = new Dictionary<uint, uint>(); Dictionary&a...

2019-02-26 11:18:58

阅读数 52

评论数 0

[c#菜鸟]lambda表达式

  what 一、定义 Lambda 表达式是一种可用于创建 委托 或 表达式目录树 类型的 匿名函数 。通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数。(微软)   理解 1.Lambda表达式是一种匿名方法。 匿名方法可省略参数列表,Lamb...

2019-02-18 20:49:43

阅读数 31

评论数 0

前向渲染详解

Forward Rendering Path的渲染细节   在开始后面的讨论之前,先要弄懂一个问题就是Unity可以在Forward Rendering Path中可以处理哪些以及处理多少光照。这里只提取官方文档中的一些内容加以说明。   在Forward Rendering中,有三种处理...

2018-12-20 11:03:49

阅读数 177

评论数 0

责任链模式

耽误了很久,重新开始写一些设计模式,打算用Unity来实现,同时找到了一个开源库,授人以鱼不如授人以渔。 https://lab.uwa4d.com/lab/5b442b98d7f10a201faf6c69 这个模式简单的来说就是像链表一样。每个节点定义自己的处理函数,处理不了传给下个节点。 ...

2018-11-29 20:18:25

阅读数 35

评论数 0

priority_queue

priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 pr...

2018-11-28 09:32:34

阅读数 30

评论数 0

猴子都能看懂的PBR(才怪)

转载自:https://zhuanlan.zhihu.com/p/33464301?utm_medium=social&utm_source=qq   也不知道怎么搞的,PBR(Physicallly-Based-Rendering 基于物理渲染)突然成了一个……你会了...

2018-11-14 14:58:34

阅读数 307

评论数 0

Unity全局雾

写在前面 熟悉Unity的都知道,Unity可以进行基本的雾效模拟。所谓雾效,就是在远离我们视角的方向上,物体看起来像被蒙上了某种颜色(通常是灰色)。这种技术的实现实际上非常简单,就是根据物体距离摄像机的远近,来混合雾的颜色和物体本身的颜色即可。 Unity里设置雾效有两种方式,一种最简单的...

2018-10-25 19:27:28

阅读数 160

评论数 0

SerializeField总结

可被Serialize的变量的定义方法 1. public 变量 在没有加入任何Attribute的前提下,public变量是默认被视为可以被Serialize的。 2. [SerializeField] Attribute 有时候我们需要Serialize一份private或者prote...

2018-09-17 23:37:07

阅读数 541

评论数 0

浅析Unity中的Enlighten与混合光照

0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten【1】来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapper——Progressive来提供烘焙全局照明并且提供了更多的混合光照模式,但是Enlight...

2018-08-06 15:36:15

阅读数 129

评论数 0

解决CinemachineStateDrivenCamera用同一个Controller报错问题

在做游戏时候,创建了几个不同的人物,但是他们都共用一个AnimatorController,并为每个人物创建一个CinemachineStateDrivenCamera时,会一直报错,报的错误为Animator is not playing an animation controller。报错的原...

2018-08-05 23:47:36

阅读数 160

评论数 0

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