Unity
文章平均质量分 64
Unity
精密时空设计局
Roma wasn't built in a day.
展开
-
庄懂着色器_L23_场景相关_02
制作UV1(2U)共用的UV就是要是把重复的UV全部展开烘焙天光_SkyLightMask打一展天光,烘焙它的光照或者也可给整个建筑一个自发光材质,然后把AO节点连到自发光强度也可以明暗偏线性_整个烘焙出来的结果,应该有明有暗,然后中间过渡的非常充分(有利于后续修改)烘焙主光:MainLightMask-1主光是一个方向光,烘焙这张图想要得到两个信息一个是主光的Shadowmask,就是它哪个地方是明,哪个地方是暗,哪个地方是半影另一个是主光打到的建筑..原创 2022-04-10 14:32:14 · 212 阅读 · 0 评论 -
庄懂着色器_L22_场景相关_01
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili场景相关课程内容介绍美术资产准备场景搭建_指认天空材质场景搭建_ProGrids场景搭建_拼装场景场景搭建_设置StaticContibute GI响应全局光照Occluder/Occludee Static响应OccluCulling是不是要参与遮挡剔除的预计算,作为一个Occluder遮挡物/Occludee被遮挡物去参与计算Batching Static...原创 2022-04-10 14:29:46 · 168 阅读 · 0 评论 -
庄懂着色器_L21_CyberPunk
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili案例_赛博小人模型准备平常所说的1U,2U对应Unity的是0U,1U3Dsmax的顺序是从1开始的;Unity_UV的顺序是从0开始的特效贴图制作再需要一张模型的Position纹理低频信息就是在整个纹理上,它的过渡比较平缓,它没有很高的相邻的对比,所以这张纹理不需要太大烘焙了一张位置的模型信息,用这个位置信息去算它这个3D_Noise_噪声强度,并这个噪声强度转化到模型的UV原创 2022-04-10 14:27:40 · 2104 阅读 · 0 评论 -
庄懂着色器_L20_钟表小人
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili案例模型准备SD贴图处理Safe Transform Color_对贴图进行安全放缩,它能保证贴图的四方连续性SVG_可在2D视图进行绘制Mask钟表细节转圈排布 Splatter CircularNormal Sobel法线卷积处理Curvature Sobel曲率卷积处理卷积理解连接:如何通俗易懂地解释卷积? - 知乎...原创 2022-04-10 14:25:01 · 190 阅读 · 0 评论 -
庄懂着色器_L19_顶点动画
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili顶点平移/缩放/旋转/案例动画顶点平移在AlphaBlend基础上,追加Y轴向上周期性位移代码部分Translation对一个顶点位置信息做一个处理,这个处理就是顶点动画这个方法没用常规return返回方法,它的返回值是voidinout :为这个参数给了一张出入的通行证,后面的参数可以进入Inout做一些操作,然后再跑出去,那这样一个参数它在方法内就可能会被改变,而不需要返回其它的值.原创 2022-04-10 14:20:46 · 263 阅读 · 0 评论 -
庄懂着色器_L18_序列帧与极坐标
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili序列帧_Sequence小人是一个AB的模型,外面鬼火是AD模式,是一个双Pass的Shader代码部分Pass可以都是有一个名字的,这样一个Pass写完之后,其它的Shader想调用这个Pass,然后里面内容完全不想改,可以使用"UsePass(调用Pass名字)"LightModeUnity的手游一般都是ForwardBase前项渲染使用SRP自定义渲染管线是可以自己声明一个LightMode,你的相机在渲染原创 2022-04-10 13:55:50 · 2106 阅读 · 0 评论 -
庄懂着色器_L17_屏幕UV/屏幕扰动
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili屏幕UV案例代码部分观察空间ViewSpaceUnityObjectToViewPos(v.vertex).xyz以你的摄像机为基准的空间,它的X和Y轴就相当于你显示器上的横轴和竖轴,Z轴就是你摄像机的深度将摄像机的横轴和竖轴将其理解为一个UV坐标,并去采样贴图,那样就可以将纹理采样到屏幕空间上了但是如果直接用转换到观察空间的X,Y轴作为UV去采样,会发现贴图在模型的表面上会有一个"畸变",可以用X,Y轴去原创 2022-04-10 13:52:46 · 385 阅读 · 0 评论 -
庄懂着色器_L15_AlphaPart/UV
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili排序问题Alpha通道预乘问题AB,AD代码改进GhostFlow效果代码部分_GhostFlowShader "AP01/L15/GhostFlow2"{Properties{_MainTex ("RGB:颜色 A:透贴", 2d) = "gray"{}_Opacity ("透明度", range(0, 1)) = 0.5...原创 2022-04-10 13:20:13 · 1199 阅读 · 0 评论 -
庄懂着色器_L14&16_Fire/Water
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili答疑双面显示和双面模型的性能比较火焰效果绿色部分代表内焰,红色部分代表外焰,蓝色代表其余部分左边A通道效果:中间强,四周弱右边RG通道通过混合去扰动左边RG通道本身不同的形态和Tilling以及流速,然后在做一个叠加Add,产生的效果会有一个随机性将上一步骤叠加的效果在乘以一个Mask_A和从上到下的一个遮罩,就得到了一个火焰范围扰动的强度火焰的底部扰动会小一些,所以第四张Mask底部会是一个黑色的从下到上的一原创 2022-04-10 13:15:53 · 116 阅读 · 0 评论 -
庄懂着色器_L13_特效篇
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili特效类Shader透明剪切_AlphaCutout_ACAC_AlphaTest经常用于卡通风格,一般卡通项目是后处理+抗锯齿+Bloom 硬边缘比较符合卡通美术风格,后处理可以缓解锯齿,Bloom可以溢出辉光效果AC没有排序问题,边缘太硬是优点也是缺点(边缘不是0就是1),移动端性能较差Cutoff透贴可能是一个从白到黑的过渡,从哪个灰度算它是透的,从哪个灰度算它不是透的,你就要有一个标...原创 2022-04-10 13:09:17 · 203 阅读 · 0 评论 -
庄懂着色器_L12_大作业分析与还原
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili答疑文档分析照射进来的光是白色,那么非金属反射的也是白色,它不会去改造光的成分照射进来的光是白色,金属反射的自身金属的颜色资源分析资源优化光照模型分析菲涅尔:越平行你视线方向的表面,它对环境反射的越多代码部分nDirWS世界空间下得法线方向vDirWS世界空间下得观察方向vrDirWS世界空间下得观察方向的反射lDirWS...原创 2022-04-10 13:00:37 · 335 阅读 · 0 评论 -
庄懂着色器_L11_Shader参数/三色环境光
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili面板参数声明格式参数属性[GAMMA]需要将工程切换到线性空间才能使用ShaderLab中的参数类型参数的精度选择可访问的顶点Input数据常用的顶点Output数据常用顶点Shader操作3ColAmbient方法3ColAmbient方法归库#ifndef如果没有定义这个关键字,然后我们就来#define这个关键字,这个代码才.原创 2022-04-09 21:01:59 · 95 阅读 · 0 评论 -
庄懂着色器_L10_OldSchoolPro
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili答疑法线贴图是记录在切线空间的法线信息切线空间是由三个轴确定的一个空间,分别是法线方向,切线方向和副法线方向法线方向就是表面朝外的方向,或者美术在软件生成的那个方向切线方向和副法线方向:我把贴图在物体表面上摊开,它的UV坐标的U坐标就是它的切线方向,V坐标就是它的副法线方向就是说我UV怎么展,其实是影响了模型表面的切线空间的,也就是说你的高低模不变,但你的UV变了,它的模型表面的切线空间也就变了,切线空间变了,它的法线信息原创 2022-04-09 20:59:35 · 278 阅读 · 0 评论 -
庄懂着色器_L09_Fresnel/Matcap/Cubemap
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili环境反射的做法有Matcap和Cubemap菲涅尔现象菲涅尔连连看部分Fresnel = pow(1-ndotv,powVal)下的法线点乘世界下的视线现实中View Dir观察方向和light Dir光方向都是太阳照射到地面上的,但在引擎内View Dir观察方向和lDir光向量都是指向人眼方向的,也可以说是指向光源的因此View Dir观察方向和lDir光向量在物理上和引擎内效果是相反的原创 2022-04-09 20:56:46 · 515 阅读 · 0 评论 -
庄懂着色器_L08_OldSchoolPlus/Normal
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili答疑ShaderFeature用到才会编译分支MultiCompile用不用到都会编译分支作业回顾OldSchool Plus代码_EnvUpCol环境天顶颜色_EnvSideCol环境水平颜色_EnvDownCol环境地表颜色Shader "AP01/L08/OldSchoolPlus"{Properties{_Bas...原创 2022-04-09 20:51:14 · 218 阅读 · 0 评论 -
庄懂着色器_L07_光照构成
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili单色环境光-1ColAmbient一个近似的理解:环境光可以理解为四面八方均匀射过来的单一颜色单一强度的光既然有环境光,那我们的几何形体,我们的一个形态,会对环境光产生一个遮挡,任何物体对光都会产生遮挡,环境光也是一样的,它也会受物体的一个遮挡,这个遮挡就是环境遮挡,也叫环境闭塞_Ambient Occlusion我们有一个光,它是环境里面所有光的因素的一个总和,我们将其理解为环境光AO就是一个对环境光的阻挡三色环境.原创 2022-04-09 20:47:37 · 254 阅读 · 0 评论 -
庄懂着色器_L06_OldSchool_改
庄懂-BoyanTata的个人空间_哔哩哔哩_BilibiliLambert+PhongLightDir光向量是光方向的反方向,当做光方向计算时要乘-1,就是光方向了float3 rDir = reflect(-lDir, nDir);代码 Lambert+PhongShader "AP01/L06/OldSchoolP"{Properties{_MainCol ("颜色", color) = (1.0, 1.0, 1.0, 1.0)...原创 2022-04-09 20:44:38 · 235 阅读 · 0 评论 -
庄懂着色器_L05_镜面反射
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili漫反射-Diffuse镜面反射-Specular常用向量漫反射跟Camera或者人眼的观察视角无关镜面反射跟Camera或者人眼的观察视角有关系phong光的反射与人眼的视角方向越重合(夹角越小),反射越强,反之,夹角越大,高光越暗半角向量h光方向L与视角方向V的中间方向float3 halfVector = normliaze(viewDirection + l...原创 2022-04-09 20:39:49 · 204 阅读 · 0 评论 -
庄懂着色器_L04_半兰伯特/SSSLut
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili作业点评HalfLambert代码float halfLambert = nDotl * 0.5 + 0.5;Shader "AP01/L04/HalfLambert"{Properties{}SubShader{Tags {"RenderType"="Opaque" }Pass{...原创 2022-04-09 20:36:30 · 331 阅读 · 1 评论 -
庄懂着色器_L03_Hello_World
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili 作业答案RampTexture不需要MipMapWrap Mode*最亮的值是1,两端颜色会有溢出,在亮处/暗处溢出一个暗点/亮点,将Wrap Modeg改为Clamp即可美术经验3阶明度,过渡卡硬渲染的结果既有卡通效果,边缘过渡也不会显得太生硬暗部色相变化,少明度变化HalfTone效果NDir * VDirStep节点如果A <..原创 2022-04-09 02:17:50 · 146 阅读 · 0 评论 -
庄懂着色器_L02_卡渲
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili渲染流程模型 -输入结构 -顶点Shader -输出结构 -像素Shader -渲染结果关联编辑器SF新建最简Shader模板ShaderForge设置Geometry -一般选择插值Interpolated(插值会比较简单)Normalized归一化会在每一个像素将Normal去做一个归一化,如果一个向量,它有方向,但是它的大小没有什么含义,但是这个方向经常进行各种点乘D...原创 2022-04-09 02:12:16 · 213 阅读 · 0 评论 -
庄懂着色器_L01_(Half)Lambert/SSS
01.结构Struct一些相关数据的组织方式02.渲染过程模型 >输入结构 >顶点Shader >输出结构 >像素Shader >渲染结果将模型每个顶点位置信息,换算为每个顶点应该屏幕的位置计算和赋值其他顶点信息,如: UV,顶点色,顶点法线03.向量标量(Scalar):只有大小,没有方向的量;如:年龄,体重,等;向量(Vector):既有大小,也有方向的量;如:力,速...原创 2022-04-09 02:07:24 · 239 阅读 · 0 评论 -
unity网格转地形
原地址:https://lmhpoly.com/convert-mesh-to-unity-terrain/using UnityEngine;using UnityEditor;public class Object2Terrain : EditorWindow {[MenuItem("Terrain/Object to Terrain", false, 2000)] static void OpenWindow () { EditorWindow.GetWindow<Object2Te转载 2021-05-18 00:21:19 · 601 阅读 · 0 评论