写在世界之开始
陌生人,你好,欢迎来到海的那边。 我在这里搭了一个小木屋,也许你来去匆匆,但如果你此刻稍有闲暇,不妨进来坐坐。 在这里,记录着屋主人的生活与感悟。屋主并不想去打扰别人,但如果来客你有兴趣,这里的一切将为你敞开。 路途匆匆,那些曾经发生过的事情,随着时间的流逝,总会在记忆中褪色,磨去熟悉的轮廓,最终变得与我们最开始的认知截然不同。所以趁着事情还历历在目,想法还充满生机,记忆还是最初的模样,我希望将它记录下来。年复一年,若能在很多很多年后,还能找到这个网页,看见当初那个自己,确实是一件很有意义的事情。 屋主是个爱好广泛的人,什么都想去做,但是什么又都做不长久,这份记录也许会在某一天结束,甚至被本人所遗忘。但是记录下来的文字还将一直存在着,直到有一天彻底消失在数据的海洋当中。 但是一切都会结束,在时间面前,万物都显得苍白无力。能在自己的时间里,活的精彩,活的满足,就足够幸运了。 有缘人,很高兴与你相遇。请多关照!
Unity三渲二
PBR与NPRPBR(Physically Based Rendering,基于物理的渲染)是一种通过模拟光线与材质的物理交互来实现逼真图形效果的计算机图形学技术。以下是其核心要点:
物理基础PBR基于真实物理规律,通过微表面理论、能量守恒和菲涅尔效应等原理,精确模拟光线在材质表面的反射、散射和吸收行为。例如:
微表面理论:认为物体表面由微小凹凸组成,粗糙度越高,反射越分散;
能量守恒:反射光的总能量不超过入射光,确保高光与漫反射的平衡;
菲涅尔效应:反射强度随观察角度变化(如水面近处透明、远处反光)。
材质属性PBR通过一组标准化参数描述材质:
基础颜色(Albedo):材质的固有颜色;
金属度(Metallic):0(非金属)到1(金属)的反射特性;
粗糙度(Roughness):0(镜面光滑)到1(完全漫反射)的表面状态;
法线贴图:模拟微观表面细节。
NPR(Non-Photorealistic Rendering,非真实感渲染)是一种模拟艺术风格或创新视觉效果的计算机图形学技术,与追求真实感的传统渲染(如PBR)形成鲜明对比。以下是其核心特征与技术实现:
...
Unity-Shader入门笔记5
辐照度在光学领域,辐照度是一个关键物理量,以下为详细阐述:
一、定义辐照度指投射到单位面积上的辐射通量 ,常用符号 (E) 表示。其定义式为$$E = \frac{d\varPhi}{dA}$$ 。其中 varPhi 是照射在面积元 (dA) 上的辐射通量,单位为瓦特每平方米。简单理解,它描述的是单位时间内单位面积所接收光能量的数量。
二、与其他光学概念的关系
与辐射强度的关系:辐射强度用于描述点光源在给定方向上的辐射特性,单位是瓦特每球面度((W/sr)) 。对于点光源,辐照度与辐射强度及距离相关。在距离点光源 (r) 处,辐照度 (E) 与辐射强度 (I) 的关系为 (E = \frac{I}{r^{2}}) ,这表明点光源的辐照度随距离的平方反比衰减。
与光强的关系:在部分不太严谨的表述里,光强有时会与辐照度混淆。但严格来讲,光强基于人眼对不同波长光的视觉响应特性定义,而辐照度是对所有波长光能量的度量,不考虑人眼视觉特性。
散射和吸收在光学中,散射和吸收是光与物质相互作用的两种重要方式。散射是指光线在传播过程中,由于与介质中的粒子或不均匀结构相互作 ...
Unity-Shader入门笔记4
顶点、片元着色器下面是一个简单的shader代码示例:
Shader "Unity Shader Practice/Chapter5/5-2"{ Properties { } SubShader { Pass{ CGPROGRAM //pragma是预处理指令,用来向编译器传达一些特定的指令或信息 #pragma vertex vert //表示顶点着色器 #pragma fragment frag //表示片元着色器 float4 vert(float4 v:POSITION) :SV_POSITION{ return UnityObjectToClipPos(v);//将物体空间坐标转换到裁剪空间 } fixed4 frag() : SV_Target ...
用AssetStudio获取Steam上Unity游戏资产
首先下载AssetStudio,Github网址: Releases · Perfare/AssetStudio
我下载的是第二个,第一个不知道为啥没找到exe文件,也可以自己下了都试试。
下载后解压,点击运行程序。
打开steam,找到想要解包的游戏地址,复制(只能是Unity开发的游戏,有些游戏可能有保护也无法解包)。
选择file->load folder.
粘贴地址即可。
解包过程比较长,会一直出现报错,点击确定即可。但是不点击的话似乎就不会继续解包下去。
解包完成后,点击Asset List查看解包文件,Mesh的是模型文件,还有其它种类的资产都会在里面。
点击Export可以导出全部资产到本地,或者指定资产导出。
全部导出时间比较长,中间没有确定,挂机等待即可。
导出目录如下(以米塔为例,xml文件是另外导出的资产目录):
Unity-Shader入门笔记2
Shader 是什么Shader的中文意思是 着色器是一种用于描述如何渲染图形和计算图形外观的程序主要用于控制图形的颜色、光照、纹理和其他视觉效果。
着色器通常由着色器语言编写,这些着色器语言提供了指令和语法用于编写描述光照、纹理映射、阴影、反射等图形外观的代码。
Shader就是着色器,是用于编写图形表现效果的程序代码。
为了和前面通用的Shader 语义进行区分,我们把Unity 中的Shader文件统称为Unity Shader。这是因为,Unity Shader和我们之前提及的渲染管线的Shader有很大不同。
Shader 和渲染管线的关系Shader和渲染管线的关系是密不可分的,渲染管线(流水线)的基本概念是将数据分阶段的变为屏幕图像的过程而Shader开发就是针对其中某些阶段的自定义开发从而决定图形图像最终呈现到屏幕上的表现效果。
主要针对的是几何阶段中的顶点着色器小阶段和光栅化阶段中的片元着色器小阶段。
如何学习Shader开发学习Shader开发,我们必须要学习的基本知识有: 1.数学相关知识 2.语法相关知识 3.着色器 ...
UnityShader常见术语
OpenGL 和 DirectXOpenGL 和 DirectX 都是计算机图形和游戏开发中常用的图形渲染接口(API),它们提供了一组工具和规范,允许开发者控制硬件来创建图形和处理多媒体内容。虽然它们的核心功能相似,但它们有不同的历史背景、平台支持和设计哲学。
1. OpenGL(Open Graphics Library)概述
开放标准:OpenGL 是一个跨平台的图形渲染 API,最初由硅图形(SGI)公司于 1992 年开发,现在由非盈利组织 Khronos Group 维护。它是一个开放标准,意味着任何公司或开发者都可以免费使用和实现它。
跨平台支持:OpenGL 主要支持跨平台操作系统,如 Windows、Linux、macOS(虽然 Apple 现在推崇 Metal)以及一些移动平台(通过 OpenGL ES)。
灵活性:OpenGL 是一个比较低层次的 API,提供了大量的可配置选项,可以允许开发者非常精细地控制图形渲染过程。
优点
跨平台:OpenGL 可以在多种操作系统上运行,因此,基于 OpenGL 的应用程序可以更容易地在不同平台间移植。
开放性:作为一个开放 ...
Unity Shader入门笔记1
Unity中的渲染管线和图形学中的渲染管线基本上指的是相同的概念,但是具体实现和细节方面可能存在一些差异。 Unity的渲染管线建立在图形学的基础上,但是它具有自己的实现和拓展提供了一个高度可配置和可拓展的框架,允许开发者根据需求自定义渲染流程,之后讲解的渲染管线相关知识主要针对Unity中的实现。
什么是渲染管线?渲染管线(渲染流水线),它是计算机图形学中用于将三维场景转换为最终屏幕所见图像的过程。它是由一系列的阶段和操作组成的,每个阶段都负责执行特定的任务逐步处理输入的集合数据和纹理信息最终生成可视化图像的过程。渲染管线(流水线)就是将数据分阶段的变为屏幕图像的过程
渲染管线中的数据指的是什么?渲染管线(流水线)的概念是:将数据分阶段的变为屏幕图像的过程这里的数据指的是: 1.**顶点数据:**模型的顶点坐标、法线向量、纹理坐标等等。 2.**纹理数据:**纹理贴图等。 3.**光照数据:**光照参数、光源信息等等等 Unity场景上相关的数据。
渲染管线中的分阶段指的是什么?渲染管线(流水线)的概念是:将数据分阶段的变为屏幕 ...



