【《Unity Shader入门精要》 提炼总结】(九)第九章·UV贴图&纹理概念介绍&单张纹理的应用&Shader常见函数总结

 

 

 

本文由@唐三十胖子出品,转载请注明出处。  
文章链接:https://blog.youkuaiyun.com/iceSony/article/details/84587428

 

 

 

这篇文章将总结和提炼《Unity Shader入门精要》的第七章“基础纹理”的内容。

通过这篇文章,你可以知道

1)UV贴图概念与使用

2)纹理相关概念的介绍

3)简单的单张纹理的应用

4)前9章Shader常见函数总结

一.UV贴图概念与使用

虽然模型与贴图(包含UV贴图,法线贴图,渐变贴图,遮罩贴图)的制作是美工的活,但是程序需要知道相关的知识以及简单使用来进行shader的开发,其中最常见的修改就是下一章要涉及的法线贴图的shader开发。

上图来自网络,很明显这是个角色UV贴图,包含头部躯干四肢

首先美工在3Dmax制作模型导出的时候会有UV贴图的导出选项,美工需要进行模型的拆分

就像一个纸箱子,通过拆分会变成这样

UV贴图包含对模型上色的相关位置信息,之后可以在PS中进行相关上色修改

至于最终怎么穿上这层皮,是模型的事情:)    

模型包含了与贴图的对应信息,本篇不涉及。

二.简单的单张纹理的应

### Unity Shader 入门教程:纹理处理 #### 创建新的 Shader 文件 在 Unity 中创建一个新的 Shader 可以通过两种方式实现。一种是在菜单栏中选择 `Assets -> Create -> Shader`,另一种方法是从 Project 视图中右键点击并选择 `Create -> Shader`[^1]。 #### 纹理尺寸优化建议 为了确保最佳性能资源利用效率,在 Unity使用纹理图像应尽可能采用2的幂次方作为宽度高度(例如 256×256 或者 512×512)。当使用非标准尺寸时,可能会导致额外的内存消耗,并且 GPU 处理速度会受到影响而变慢[^2]。 #### 表面着色器简介 对于初学者来说,表面着色器是一个很好的起点。这类着色器允许开发者定义材质属性如漫反射颜色、高光强度等参数。值得注意的是,虽然表面上看起来像是独立类型的着色程序,但实际上它们会被编译转换成传统的顶点/片段组合形式。下面给出了一段简单的代码示例来展示如何编写一个基本的表面着色器: ```csharp SubShader { Tags {"Queue"="Transparent"} CGPROGRAM #pragma surface surf Lambert struct Input { float4 color : COLOR; }; void surf (Input IN, inout SurfaceOutput o) { o.Albedo = 1; } ENDCG } ``` 这段代码展示了如何设置一个具有透明队列标签并且应用兰伯特光照模型的简单着色器[^3]。 #### 减少过度绘制的方法 为了避免不必要的计算开销,可以通过调整场景中的对象顺序或者修改摄像机投影矩阵等方式减少视锥体内的可见几何图形数量。这样做能够显著提高渲染效率,尤其是在复杂环境中特别有用。此外,合理安排不同层次的对象遮挡关系同样有助于改善整体表现效果[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值