- 博客(12)
- 收藏
- 关注
原创 使用TinyPng与ImageMagick脚本批量无损压缩图片
本文介绍了两种批量无损压缩图片的方法:TinyPNG API和ImageMagick脚本。TinyPNG通过先进算法实现高质量压缩(每月500张免费额度),需要注册获取API密钥;ImageMagick作为开源工具可无限制使用,支持多种格式和自定义参数。两种方法均保持原始质量,适合网站、APP等场景优化加载速度。文章提供了详细的Python脚本实现步骤,包括依赖安装、密钥配置、目录选择等功能,并比较了二者的优缺点:TinyPNG压缩率更高但有限制,ImageMagick免费通用但效果稍逊。建议用户根据需求选
2025-06-12 19:30:09
885
原创 Unity学习之深度理解摄像机
Unity摄像机参数与应用解析 本文详细介绍了Unity中摄像机系统的核心参数及其使用场景。主要内容包括: 关键参数解析:LayerMask(层遮罩)的位掩码原理、Depth(深度)的渲染顺序控制、ClearFlag(清除标志)的五种模式比较,以及透视/正交投影的区别。 遮挡剔除技术:从静态对象标记、数据烘焙到动态对象处理的全流程实现。 多摄像机应用案例:涵盖视角切换、UI分层渲染、分屏显示、小地图/后视镜实现等典型场景,均附有代码示例。 通过合理配置这些参数,开发者可以实现复杂的渲染效果优化和视觉表现控制
2025-06-06 11:57:49
658
原创 Unity学习之网格Mesh、过滤器MeshFilter、渲染器MeshRenderer
Unity中Mesh、MeshFilter和MeshRenderer是3D模型渲染的核心组件。Mesh存储几何数据(顶点、三角形、法线等),MeshFilter持有Mesh引用并传递给MeshRenderer,后者结合材质完成渲染。动态创建Mesh需定义顶点、三角形等属性并关联组件。优化建议包括:使用LOD技术降低网格复杂度、合并静态网格减少DrawCall、共享材质/网格节省内存。三者协作流程为:Mesh提供数据→MeshFilter传递数据→MeshRenderer完成渲染,是Unity 3D渲染的基础
2025-05-30 14:51:34
1937
原创 Unity Shader 渲染流程深度解析
Unity Shader渲染流程详解:从顶点到像素的转换过程 摘要:Unity Shader渲染流程包含6个关键阶段:1)顶点着色器处理坐标变换与数据传递;2)可选曲面细分着色器增加模型细节;3)可选几何着色器生成新图元;4)光栅化将几何体转为像素;5)片元着色器计算最终颜色;6)输出合并处理深度测试与混合。文章通过波浪变形和顶点挤出案例展示了顶点着色器的应用,详细解释了曲面细分和几何着色器的工作原理,并剖析了法线贴图、菲涅尔反射等片元着色技术。渲染流程的每个阶段都配有代码示例和技术原理说明,帮助开发者理解
2025-05-28 16:53:42
930
原创 Unity Shader学习之片元着色器
本文详细介绍了Unity Shader中的片元着色器(Fragment Shader)的核心概念、功能实现及应用案例。片元着色器作为渲染管线的关键阶段,负责像素最终颜色的计算,通过纹理采样、光照计算、颜色混合和特效等功能实现丰富的视觉效果。文章深入解析了5个典型案例:灰度化效果基于加权平均计算亮度;漫反射光照模型实现基础明暗;波浪纹理通过噪声扰动创造动画;边缘发光利用视角法线夹角检测轮廓;溶解效果借助噪声纹理控制消失过程。这些案例展示了片元着色器在图像处理、光照模拟、动态效果等方面的强大能力,为开发者提供了
2025-05-28 14:01:51
848
原创 Unity Shader学习之顶点着色器
顶点着色器是Unity Shader流水线的首个可编程阶段,用于处理顶点数据(位置、法线、UV等),实现坐标变换、动画和几何变形等效果。输入通过appdata结构体定义,输出通过v2f结构体传递至片元着色器。常用语义包括POSITION(模型空间位置)、NORMAL(法线)、TEXCOORD(纹理坐标)等。关键应用包括空间变换、顶点动画(如波浪效果)、法线修改、光照预处理和几何变形(如基于噪声的变形)。性能优化建议:减少复杂计算、压缩传递数据、复用变换矩阵。顶点着色器是图形渲染的核心环节,合理使用可显著提升
2025-05-26 16:54:21
1074
原创 深入学习Unity Shader的表面着色器
摘要:表面着色器是Unity对顶点/片元着色器的封装,简化了光照和材质开发流程。其核心包括Input结构体(纹理采样坐标)和SurfaceOutput结构体(表面属性)。通过#pragmasurface指令配置表面函数、光照模型(如Standard/Lambert)和可选参数(透明度/阴影等)。案例展示了水面效果(波浪动画+折射)、卡通着色(自定义光照)和PBR材质(法线贴图+金属度)的实现。表面着色器让开发者专注于艺术表现,而无需处理底层渲染细节。(149字)
2025-05-26 15:43:50
1012
原创 Unity Shader矩阵变换详解
在Unity渲染管线中,模型变换涉及将3D模型从本地空间转换到屏幕空间的一系列数学操作,理解这些变换对于开发复杂Shader效果至关重要。主要坐标空间包括模型空间、世界空间、视图空间、裁剪空间和屏幕空间,每个空间都有其特定的用途和转换矩阵。通过使用组合矩阵如UNITY_MATRIX_MVP,可以减少矩阵乘法次数,提升性能。此外,避免在片元着色器中重复计算和预计算常量矩阵也是优化性能的有效策略。这些技术帮助开发者更高效地处理顶点变换,提升渲染效率。
2025-05-23 18:15:48
753
原创 Unity Shader 内置函数汇总
UnityShader提供了丰富的内置函数,帮助开发者简化图形计算任务。这些函数按功能分类,包括坐标空间转换、法线处理、光照与阴影、纹理采样、数学辅助、内置宏与结构体以及特殊效果处理。例如,UnityObjectToClipPos用于将模型空间坐标转换到裁剪空间,UnpackNormal用于解码法线贴图,LightingLambert实现兰伯特漫反射光照模型,tex2D用于2D纹理采样,saturate将值限制在[0,1]范围内。这些函数和宏可以组合使用,实现复杂的Shader效果,如示例中的自定义Shad
2025-05-23 14:27:44
370
原创 Unity Shader法线贴图详解
法线贴图 (Normal Map) 是一种凹凸贴图 (Bump Map)。它们是一种特殊的纹理,可让您将表面细节(如凹凸、凹槽和划痕)添加到模型,从而捕捉光线,就像由真实几何体表示一样。
2025-05-23 11:53:21
1049
原创 扫描Win7、Win8系列的终端音频设备信息以及外接设备如耳机连接情况
通过Win7以后新一套关于底层音频设备APIs即Core Audio APIs, 扫描当前电脑的音频设备的信息。在window xp以前不能操作像耳机等抽象音频设备,而从Vista以后新的一套机制可以实现这个要求。
2015-09-11 16:23:25
2005
原创 Vista、Win7、Win8系统对系统音量监听以及静音操作
windows自从vista后有了一套新的关于操作底层音频的API即Core Audio APIS.通过对这个机制的研究,自己简单写个关于对Windows系统音量的控制,这里包括如何监听系统音量变化、改变系统的音量以及如何设置与解除静音。
2015-09-11 14:24:56
2712
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人