在unity urp项目中 通过图片创建材质(透明光晕)

1.导入并且设置纹理

  • Texture Type:​​ Defalut

  • sRGB (Color Texture):​ ​ ​**✔️ 勾选**​(因为这是颜色纹理,需要伽马校正)。

  • Alpha Source:​Input Texture Alpha(确保它使用您图片自带的Alpha通道)。

  • Alpha Is Transparency:​ ​ ​**✔️ 勾选**​(这是实现透明的关键!)。

  • Wrap Mode:​Clamp(防止光晕边缘重复出现)。

  • Filter Mode:​Bilinear(使光晕平滑)。

2.创建正确的材质

  1. 在 Project 窗口中右键点击 -> ​Create -> Material ,命名为 HaloMaterial

  2. 选中新创建的材质,在 Inspector 中为其选择正确的Shader:

    • 找到 ​Shader ​ 下拉菜单,选择 ​**Universal Render Pipeline/Unlit**。

      • *为什么用Unlit?*因为光晕是自发光效果,不应被场景中的灯光照亮。
  3. 配置材质参数:

    • Surface Type:​ ​ 从 Opaque改为 ​**Transparent**。

    • Blending Mode:​ ​ 保持 Alpha即可。

    • 将您在第一步中设置好的"光晕"纹理从Project窗口拖拽 到 ​**Base Map**​ 的插槽中。

    • 您可以调整 ​**Tint**​ 的颜色来改变光晕的色彩(例如,改成橙色或蓝色)

3.将材质应用到3d物体上。结束。

解释:

一.对于纹理

1. ​**Texture Type纹理类型: Default**​
  • 为什么这样设?​ ​ 您要将此纹理用于3D物体的材质,Default类型是最通用和正确的选择。Sprite (2D and UI)是专门为2D精灵系统设计的,用于3D材质会导致非预期行为。

  • 其他选项何时用?​

    • Normal map:当图片是法线贴图时使用。

    • Sprite (2D and UI):专门用于2D游戏或UI元素的精灵。

    • Cursor:用于自定义鼠标光标。

    • Cookie:用于灯光的光罩纹理。

    • Lightmap:用于光照贴图。

2. ​**sRGB (Color Texture)**​
  • 为什么勾选?​ ​ 您的"光晕"纹理是一张颜色图,不是用于存储数据(如金属度、光滑度)的遮罩图。勾选此选项,Unity 在采样纹理时会进行伽马校正 ,确保颜色在线性空间下正确显示,避免颜色发灰或不准确。​对于几乎所有颜色纹理,都应勾选

  • 何时不勾选?​ ​ 当纹理是非颜色信息时,例如:法线贴图、金属度贴图、光滑度贴图、遮罩贴图等。这些纹理存储的是数据,而不是最终颜色。

3. ​**Alpha Source& Alpha Is Transparency**​
  • ​**Alpha Source: Input Texture Alpha**​:这告诉 Unity 使用您图片自带的 Alpha 通道(透明信息)。这是正确的。

  • ​**Alpha Is Transparency** ​:​这是实现透明的关键!​ ​ 勾选后,Unity 会在处理纹理时考虑其 Alpha 通道,并在最终渲染时进行混合计算。对于您的光晕这种需要边缘柔和的透明效果,​必须勾选

4. ​**Generate Mip Maps**​ (在 Advanced 下拉菜单下)
  • 是什么?​ ​ 生成一系列逐渐缩小的纹理副本。当物体离相机很远时,GPU 会自动使用更小的副本来进行采样,这样可以减少闪烁 ​(摩尔纹)并提升性能

  • 为什么勾选?​​ 您的光晕物体可能会离相机变远(比如飞机飞走),开启 Mipmaps 可以保证它在远处不会出现采样瑕疵。

  • 何时关闭?​ ​ 主要用于GUI、UI元素或永远贴近相机的粒子特效,因为这些物体不需要因为距离而切换纹理精度。

5. ​**Wrap Mode环绕模式: Clamp**​
  • 为什么选 Clamp?​ ​ 您的光晕纹理是一个自成一体的图案。当UV坐标超出0-1的范围时,Clamp模式会拉伸纹理边缘的像素 。这可以防止光晕在边缘处重复贴图 ​(Repeat模式)而产生不自然的接缝。对于这类效果纹理,Clamp是最佳选择。

  • ​**Repeat何时用?​** ​ 用于需要无缝平铺的纹理,如地板、墙壁、布料等。

二、对于材质

1.shader选择Unlit

相关推荐
qq 1808095120 小时前
从零构建一个多目标多传感器融合跟踪器
unity
平行云20 小时前
实时云渲染支持在网页上运行UE5开发的3A大作Lyra项目
unity·云原生·ue5·webgl·虚拟现实·实时云渲染·像素流送
鹏飞于天21 小时前
Shader compiler initialization error: Failed to read D3DCompiler DLL file
unity
wonder135791 天前
UGUI重建流程和优化
unity·游戏开发·ugui
那个村的李富贵1 天前
Unity打包Webgl后 本地运行测试
unity·webgl
nnsix1 天前
Unity OpenXR开发HTC Vive Cosmos
unity·游戏引擎
nnsix1 天前
Unity OpenXR,扳机键交互UI时,必须按下扳机才触发
unity·游戏引擎
nnsix1 天前
Unity XR 编辑器VR设备模拟功能
unity·编辑器·xr
老朱佩琪!1 天前
Unity访问者模式
unity·游戏引擎·访问者模式
不定时总结的那啥1 天前
Unity实现点击Console消息自动选中预制体的方法
unity·游戏引擎