术语        模型空间:由模型对象本身决定的空间(Model Space),有时也称对象空间(Object Space)或者局部空间(Local Space),坐标轴xyz分别对应右、上、前三个方向。        世界空间:最外层的空间(World Space),用于定义绝对位置。  &nb
前言:本篇博客只是一个简单的了解法线纹理创建和采样的例子,主要是当做笔记使用。凹凸映射:由于场景中的模型会存在凹凸不平的效果,如果把这个凹凸效果交给建模师来构建模型的话,这样模型的三角面片将会十分的巨大,从而造成gpu的渲染压力。这时就可以将模型贴图的每个像素点的高度信息转换成法线信息并以像素的形式存储在法线纹理中。当渲染模型时就会从法线纹理中采样获取像素信息,并将该像素信息转换成法线信息,然后与
转载 8月前
139阅读
简介 PCG是程序生成游戏内容的简称,它使用了随机或者伪随机数的技术,给游戏带来了无限的可能。相比于传统的由设计师将游戏世界中的一草一木都精心配制,PCG的方法是去配置一些生成的规则,然后由生成算法自动去生成游戏世界。 在过去的时候,由于游戏主机和PC性能的限制,PCG的内容非常的简单,比如随机地牢或者游戏的地图,但近年来随着sandbox品类的游戏的兴起,比如风靡全球的Minecraft,PC
对于表面法向量的设计决策,有两个要考虑的问题:1、是否要用单位长度“首先是这些法线是否为单位长度。这对于阴影很方便,所以我会说yes,但我不会在代码中执行它。这可能会出现一些细微的bug,所以要注意这是个人偏好,就像大多数类似的设计决策一样。”2、是法向量是否要指向球外。“目前,找到的法线总是在中心向交点的方向(法线指向外)。如果射线从外部与球面相交,法线与射线相交(the normal poin
2022年7月20日更新线性空间是指物理意义上的真实颜色值,伽马空间是人眼会自动将真实世界进行一个伽马校正运算,即对数据进行1/2.2次幂,提高较暗区域细节,减弱亮区域细节。人眼处理这种细节变化是用了非常多感光细胞去识别较暗色区域的,杆细胞?而且这种存储过程是细胞自动进行的,具体细节很难摸索出来,如果没有伽马空间一说,美术人员制作图片是一直操控着软件去编辑线性空间意义上的图像数据,保存后存储到一张
转载 2024-06-30 10:11:49
137阅读
首先我们在Unity中创建一个小球然后通过"Create->Shader->Standard Surface Shader"创建一个表面着色器,并修改名字为Diffuse Bump然后通过"Create->Material"创建一个材质,并修改名字为MaterialDiffuseBump,材质使用的shader指定为我们刚创建的Diffuse Bump下面是Shader代码:Sh
转载 2024-04-02 16:14:23
87阅读
问:cg语言漫反射光照模型中的worldMatrix_IT是什么意思?是世界变换矩阵的转置的逆?struct VertexIn{ float4 position : POSITION; float4 normal : NORMAL;};struct VertexScreen{ float4 oPosition : POSITION; float4 color : COLO...
原创 2021-06-17 15:23:03
362阅读
问:cg语言漫反射光照模型中的worldMatrix_IT是什么意思?是世界变换矩阵的转置的逆?struct VertexIn{ float4 position : POSITION; float4 normal : NORMAL;};struct VertexScreen{ float4 oPosition : POSITION; float4 color : COLO...
原创 2022-03-20 15:15:38
251阅读
创建 Hello World本文将介绍如何在 Windows 系统下,使用 HiAR SDK 创建一个简单的 AR 应用。在开始之前,请先完成下列准备工作:注册 HiAR 帐户获取 AppKey 和 Secret导入 SDK Step 1. 新建 Unity 工程并导入 SDK运行 Unity 程序,新建一个 Unity 工程,然后将 SDK 包中 lib 目录下的 hi
Unity Shader 阶段性反思与总结(一)最近在写Shader的时候,总是感觉力不从心,感觉自己已经看了蛮久的书了,也有一定的积累了,但是一想写什么效果,完完全全就是脑袋一团空白。典型的例子就是,我想写边缘光效果的时候,完完全全就是不知道怎么下手这样子。然后,感觉自己在看书,也没什么提升,每天好像就从书上抄代码一样。。。。。让我很有挫败感。现在记录一下我在学Shader的时候,读《unity
简介以前经常听说“模型不好看啊,怎么办啊?”答曰“加法线”,”做了个高模,准备烘一下法线贴图”,“有的美术特别屌,直接画法线贴图”.....法线贴图到底是个什么鬼,当年天真的我真的被这个图形学的奇淫杂技忽悠了,然而毕竟本人还算有点刨根问底的精神,决定研究一下法线贴图的原理以及Unity下的实现。本人才疏学浅,如有错误,欢迎指正。 法线贴图是目前游戏开发中最常见的贴图之一。我们知道,一般情况下,模型
Unity的生命周期官方给的流程图很清晰很详细,这里个人加一些说明:1.Reset只会在编辑器中调用,来初始化脚本的属性,当它第一次连接到对象时,并且在使用重置命令时(点击脚本组件上齿轮里Reset)。2.顺序:Awake -- OnEnable --Start3.OnEnable每次脚本对象 由不可用变为可用时候调用(即所在物体Active且脚本组件Enable)4.物体初始没有激活,则其身上脚
写在前面 有很多情况你可能想要使用法线去影响反射效果。比如,你想要模拟一个被霜雪覆盖的玻璃材质的表面,或者一个冰块。如果你根据物理知识真实的模拟这个平面的每一个细节部分,那么你就不要希望你游戏的FPS还可以达到60帧了。相反的,我们可以使用法线贴图来伪造一个视觉体验,因此我们需要学习如何将法线贴图的信息传递给反射效果。 为了完成这个任务,我们将要学习Input结构体的另一个内置
今天我们来谈谈关于Unity中的旋转。主要有三种方式。变换矩阵,四元数和欧拉角。定义变换矩阵 可以执行任意的3d变换(平移,旋转,缩放,切边)并且透视变换使用齐次坐标。一般比较少用到。Unity中提供了一个Matrix4x4矩阵类四元数 “四元数是最简单的超复数。 复数是由实数加上元素 i 组成,其中i^2 = -1。 相似地,四元数都是由实数加上三个元素 i、j、k 组成,而且它们有如下的关系:
第5章 开始 Unity Shader 学习之旅5.2 一个最简单的顶点/片元着色器顶点/片元着色器的基本结构// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' // 定义 shader 的名字 Shader "Chapter 5/Simple Shader" { SubSh
转载 2024-07-09 12:30:36
138阅读
UnityObjectToWorldDir用于把模型空间下的矢量转换到世界空间UnityObjectToWorldNormal用于把模型空间下的法线向量转换到世界空间。因为必须保证法线垂直于模型的表面,所以缩放的时候与普通矢量不一样。如果法线用UnityObjectToWorldDir,则会出现以下错误,而用UnityObjectToWorldNormal,则可得到正确的结果 &nbsp
转载 2024-05-06 23:58:37
474阅读
原理和概念 法线是一个向量(x,y,z),每一个顶点都有一个法线,用一个纹理去存储的话,那就是(r,g,b),由于法线是垂直于一个面的,对于2d图片来说,那他的z值就是1 用一张纹理来存储法线的值,法线的xyz方向取值是【-1,1】,而rgb的取值是【0,1】,所以这里有一个转换rgb = (normal+1)/2=0.5*normal+0.5
转载 2024-03-18 00:05:02
345阅读
概念1.通过改变法线的方向,间接的影响光照2.法线贴图是将法线的方向转换成color储存在贴图的每个像素里3.法线的方向每个分量的值是-1-1,贴图的color值是0-1向量换算成color每个分量  (normal+1)/2,color换算成法线就 (pixel*2-1)法线贴图储存法线空间既然法线贴图像素储存的是法线,那处于那个坐标空间呢贴图里储存那个空间法线都是可以的,为什么都
法线贴图可以让低模看起来像是高模一样,具体的实现原理,是改变了光照,呈现出凹凸度: 下图中为法线贴图 根据光照模型来进行更改: 首先我们需要声明法线贴图纹理和法线的凹凸度:_BumpMap("bumpMap",2D) = "bump"{} _BumpScale("BumpScale",Float) = 1.0sampler2D _BumpMap; float4 _BumpMap_ST; float
转载 2024-07-17 09:20:55
63阅读
 总结起来有两个,一个是基本的转换,单纯的模型空间转换到世界空间,第二个是需要法线贴图时(Bump Textrue)的时候就转换到切线空间下进行计算。1.从“模型空间”到“世界空间”(Object To World):(1)方法1,使用和“顶点”到“世界”变换矩阵的“逆转置矩阵“对法线进行相同的变换,因此先得到顶点的模型到世界的变换矩阵的“逆矩阵”(Unity_WorldToObject
转载 2024-09-13 12:56:22
96阅读
  • 1
  • 2
  • 3
  • 4
  • 5