在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

相关推荐
郝学胜-神的一滴4 小时前
[简化版 GAMES 101] 计算机图形学 07:图形学投影完全推导
c++·unity·图形渲染·three.js·unreal engine
Avalon7121 天前
Unity3D响应式渲染UI框架UniVue
游戏·ui·unity·c#·游戏引擎
ellis19701 天前
Unity UI性能优化一之插件【Unity UI Optimization Tool】
unity·性能优化
Zik----1 天前
Unity基础学习笔记(B站视频课整理)
unity·vr
郝学胜-神的一滴2 天前
罗德里格斯旋转公式(Rodrigues‘ Rotation Formula)完整推导
c++·unity·godot·图形渲染·three.js·unreal
田鸡_2 天前
Unity新输入系统(Input System)教学篇
unity·游戏引擎·游戏程序
EQ-雪梨蛋花汤2 天前
【Unity笔记】Unity 音游模板与免费资源:高效构建节奏游戏开发全指南
笔记·unity·游戏引擎
星辰徐哥2 天前
Unity基础:游戏对象的激活与隐藏:SetActive方法详解
游戏·unity·lucene
微莱羽墨2 天前
零、0基础入门Unity 安装详细教程(2026最新版教程,安装Unity看这一篇就够了!)
unity·游戏引擎·unity安装
星辰徐哥2 天前
Unity C#入门:变量的定义与访问权限(public/private)
unity·c#·lucene