自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

miaobeihai的博客

动脑,动手,开口

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

转载 欧拉角与万向节死锁(图文版)

万向节死锁(Gimbal Lock)问题上文中曾经说过,欧拉旋转的顺规和轴向定义,自然造就了“万向节死锁”问题。本文主要来探索它自然形成的原因。陀螺仪首先,我们来了解Gimbal 究竟是个什么玩意儿。下面来自维基百科中关于Gimbal的一段引述:平衡环架(英语:Gimbal)为一具有枢纽的装置,使得一物体能以单一轴旋转。由彼此垂直的枢纽轴所组成的一组三只平衡环架,则可使架在最内的环架的物体维持旋转...

2018-03-31 19:07:12 5607 3

转载 Unity中的欧拉旋转

欧拉角的定义在写这篇博客之前,我搜索了网上很多关于欧拉角的定义,发现大部分引用自维基百科的定义,我这里也引述一下:维基百科定义莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向。对于任何参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的。所以,刚体的取向可以用三个基本旋转矩阵来决定。换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的。 对于在三维空间里...

2018-03-31 19:05:54 2303

转载 Unity Shader入门精要学习笔记 - 第7章 基础纹理

转自 冯乐乐的 《Unity Shader 入门精要》纹理最初的目的就是使用一张图片来控制模型的外观。使用纹理映射技术,我们可以把一张图“黏”在模型表面,逐纹素地控制模型的颜色。在美术人员建模的时候,通常会在建模软件中利用纹理展开技术把纹理映射坐标存储在每个顶点上。纹理映射坐标定义了该顶点在纹理中对应的2D坐标。通常,这些坐标使用一个二维坐标(u,v)来表示,其中u是横向坐标,而v是纵向坐标。因此...

2018-03-31 16:12:21 444

转载 Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

转自冯乐乐的《Unity Shader入门精要》通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象。首先,光线从光源中被发射出来。然后,光线和场景中的一些物体相交:一些光线被物体吸收了,而另一些光线被散射到其他方向。最后,摄像机吸收了一些光,产生了一张图像。在光学中,我们使用辐照度来量化光。对于平行光来说,它的辐照度可通过计算在垂直于l的单位面积上单位时间内穿过的能量来得到。在...

2018-03-31 16:11:40 210

转载 Unity Shader入门精要学习笔记 - 第5章 开始 Unity Shader 学习之旅

转载自 冯乐乐 《Unity Shader 入门精要》一个顶点/片元 着色器的结构大概如下:[plain] view plain copyShader "MyShaderName"  {      Properties      {          //属性      }      SubShader      {          //针对显卡A的SubShader          Pass...

2018-03-31 16:10:59 315

转载 Unity Shader入门精要学习笔记 - 第4章 学习 Shader 所需的数学基础

摘录自 冯乐乐的《Unity Shader入门精要》笛卡尔坐标系1)二维笛卡尔坐标系在游戏制作中,我们使用的数学绝大部分都是计算位置、距离、角度等变量。而这些计算大部分都是在笛卡尔坐标系下进行的。一个二维的笛卡尔坐标系包含了两个部分的信息:一个特殊的位置,即原点,它是整个坐标系的中心。两条过原点的互相垂直的矢量,即X轴和Y轴。这些坐标轴也被称为是该坐标的矢量。OpenGL 和 DirectX 使用...

2018-03-31 16:10:06 168

转载 Unity Shader入门精要学习笔记 - 第3章 Unity Shader 基础

概述总体来说,在Unity中我们需要配合使用材质和Unity Shader才能达到需要的效果。一个最常见的流程是。1)创建一个材质2)创建一个Unity Shader,并把它赋给上一步创建的材质3)把材质赋给要渲染的对象4)在材质面板中调整Unity Shader的属性,以得到满意的效果下图显示了Unity Shader和材质是如何一起工作来控制物体的渲染的。Unity中的材质需要结合一个Game...

2018-03-31 16:09:10 165

转载 Unity Shader入门精要学习笔记 - 第3章 Unity Shader 基础

概述总体来说,在Unity中我们需要配合使用材质和Unity Shader才能达到需要的效果。一个最常见的流程是。1)创建一个材质2)创建一个Unity Shader,并把它赋给上一步创建的材质3)把材质赋给要渲染的对象4)在材质面板中调整Unity Shader的属性,以得到满意的效果下图显示了Unity Shader和材质是如何一起工作来控制物体的渲染的。Unity中的材质需要结合一个Game...

2018-03-31 16:08:10 216

转载 Unity Shader入门精要学习笔记 - 第2章 渲染流水线

来源作者:candycat   http://blog.csdn.net/candycat1992/article/2.1 综述渲染流水线的最终目的在于生成或者说是渲染一张二维纹理,即我们在电脑屏幕上看到的所有效果。它的输入是一个虚拟摄像机、一些光源、一些Shader以及纹理等。渲染流程分成3个阶段:应用阶段、几何阶段、光栅化阶段。应用阶段:这个阶段由我们的应用主导的,因此通常由CPU负责实现,我...

2018-03-31 16:06:52 198

原创 关于ShaderLab的学习

之前写了一些博客,都是按照乐乐女神的《Unity Shader 入门精要》一书中所写的,闲余之时,发现别人有更好更全面的总结,所以之后会转载一些别人的总结,集百家之长,让自己更专注于代码(好吧,其实就是总结得没别人好)。同时也会写一些自己的shader发上来另外附送乐乐女神的博客地址:https://blog.csdn.net/candycat1992/article/category/14234...

2018-03-31 16:02:13 244

原创 群体行为之分离

可参考外文博客:点击打开链接如图,实现时,为了计算分离行为所需要的操纵力,首先要搜索指定领域内的其他邻居,然后对每个邻居,计算AI角色到该邻居的向量r,将r归一化,得到排斥力的方向,然后排斥力的大小与距离成反比,然后把来自邻居的排斥力相加,就得到了分离行为的总操控力。检测附近的邻居,雷达装置using UnityEngine;using System.Collections;using Sys...

2018-03-29 21:19:25 599

转载 C#中的反射

详解C#中的反射http://blog.csdn.net/educast/article/details/2894892两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了(我...

2018-03-27 13:31:59 98

原创 基础纹理

纹理最初的目的就是使用一张图图片来控制模型的外观。使用纹理映射技术,我们可以把一张图“粘”在模型表面。逐纹素地控制模型颜色。//计算机图形学中的纹理既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,通常我们更多地称之为花纹。对于花纹而言,就是在物体表面绘出彩色花纹或图案,产生了纹理后的物体表面依然光滑如故。对于沟纹而言,实际上也是要在表面绘出彩色...

2018-03-23 22:12:42 316

转载 UnityCG.iginc

UnityCG,iginc内置很多我们平时需要使用的转化函数,这个头文件可以在Uinty目录下的Editor->Data->CGIncludes里面找到,源码有1千多行,就不贴出来了,下面转发别人总结的一些常用函数,在《Unity Shader 入门精要》里也有一些详细的介绍:内置shader辅助函数定义在UnityCG.cginc文件中顶点转换函数:Function:Descript...

2018-03-23 19:38:43 575

原创 Cinemmachine 组件学习

CinemachineFollowZoomAn​ ​add-on​ ​module​ ​for​ ​Cinemachine​ ​Virtual​ ​Camera​ ​that​ ​adjusts​ ​the​ ​FOV​ ​of​ ​the​ ​lens​ ​to​ ​keep​ ​the target​ ​object​ ​at​ ​a​ ​constant​ ​size​ ​on​ ​the​...

2018-03-22 18:05:55 1656

原创 高光反射模型

高光反射部分计算公式为。              C specular=(Clight*Mspecular)*pow(max(0,dot(V,R)),Mgloss)Clight是入射光的颜色和强度,材质的高光反射系数Mspecular,视角方向V和反射方向R点乘的结果再与高光系数pow。R=2(dot(N,-L))N+L,幸运的是CG提供了计算发射方向的函数reflect。下面是Shader代码...

2018-03-20 16:41:45 2578

转载 Unity种Awake()和Start()的本质区别

版权声明:本文为燕良原创文章,转载请注明出处:https://neil3d.github.io http://blog.csdn.net/Neil3D/article/details/43865575昨天被问到一个问题MonoBehaviour的Awake()和Start()的区别是啥?当然Awake()会在Start()之前被调用,这个地球人都知道了。如果只是顺序问题,那当然就没太大必要搞两个函...

2018-03-19 19:14:41 16755

原创 兰伯特(Lambert)模型

漫反射,是投射在粗糙表面上的光向各个方向反射的现象。当一束平行的入射光线射到粗糙的表面时,表面会把光线向着四面八方反射,所以入射线虽然互相平行,由于各点的法线方向不一致,造成反射光线向不同的方向无规则地反射,这种反射称之为“漫反射”或“漫射”。这种反射的光称为漫射光。很多物体,如植物、墙壁、衣服等,其表面粗看起来似乎是平滑,但用放大镜仔细观察,就会看到其表面是凹凸不平的,所以本来是平行的太阳光被这...

2018-03-13 13:12:39 8507

转载 引言

引言,在Unity3d里,所有的图形绘制都必须通过Shader,即着色器。一般的使用过程中,我们用到的都是unity自带的Shader,即build-in shader。学习Shader后,自己写的Shader能做出很多你想要的特殊效果,增强游戏的画面表现。例如 水的倒影。 LOGO的光影闪过等等效果等等。Shader的分类Shader按管线分类一般分为固定渲染管线与可编程渲染管线1)固定渲染管线...

2018-03-12 20:32:06 132

原创 SimpleShader

Unity Shader:说到底,Shader其实只是一段规定好输入(颜色,贴图等)和输出(渲染器能读懂的点和颜色的对应关系)的程序。那么,设计一个Shader的过程其实就是根据输入,进行计算变换从而产生输出而已。1.分类:在Unity中的Shader分为两类:表面着色器(Surface Shader):已经为我们完成了大部分的工作,只需要简单的操作即可得到不错的效果;片段着色器(Fragment...

2018-03-12 14:13:01 521

原创 Cinemachine相机间的切换

在Cinemachine中,如果两个相机的priority值是一样的,一个相机启用,另外一个相机是禁用的,如果把禁用的相机再启用,Cinemachine Brain的Live Camera会切换到这个相机,这样就可以实现相机的切换。可以通过触发器代码来切换相机。首先在空物体是上挂一个脚本,控制首先Live Camera选择的是哪个相机。ActiveCamOnPlay.csusing UnityEn...

2018-03-01 13:33:39 12257 5

空空如也

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

TA关注的人

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