众力资讯网

Unity材质球属性修改全攻略

别人放假我学习!整理了Unity材质球属性修改的7个核心知识点,从基础方法到性能优化,附完整代码示例和避坑指南,新手也能直接抄作业~
1️⃣ 方法总览 Inspector里看到的材质参数,脚本都能改:SetFloat设浮点、SetColor设颜色、SetInteger设整数、SetTexture换贴图、SetVector设向量、EnableKeyword开关Shader功能。
2️⃣ SetTexture:运行时切换贴图 换装、换展品图片、换背景都靠它。URP用_BaseMap,内置管线用_MainTex,写错不生效。法线贴图记得配合EnableKeyword("_NORMALMAP")。
3️⃣ SetFloat / SetColor / SetVector:数值与颜色控制 做颜色渐变、发光强度、金属度调节。呼吸光效写法:float g = (Mathf.Sin(Time.time)+1)/2; mat.SetFloat("_EmissionIntensity", g*3f);
4️⃣ EnableKeyword / DisableKeyword:Shader关键字开关 动态开关法线、自发光、透明模式。常用关键字:_NORMALMAP、_EMISSION、_ALPHATEST_ON。注意枚举关键字切换要先Disable同组其他关键字。
5️⃣ MaterialPropertyBlock:大量物体的高性能方案 500棵树各自不同颜色?用它!共享材质但每个物体独立属性,不破坏Draw Call合批。URP下与SRP Batcher不兼容,需注意。
6️⃣ 避坑指南 属性名严格区分大小写;运行时用.material别用.sharedMaterial;动态创建的材质记得Destroy();Shader Graph参数要勾选Exposed。
7️⃣ 速查总结 单物体改属性用.material,多物体用MaterialPropertyBlock。URP属性名:_BaseMap、_BaseColor、_EmissionColor、_Metallic、_Smoothness。
(为节假日还在学习的你们点赞👍)

#Unity #游戏开发 #独立游戏 #干货分享 #放假学习 #材质球 #Shader #Unity教程 #技术美术 #游戏开发入门