【推荐100个unity插件之16】3D物品描边效果——Quick Outline免费插件

文章目录

前言

关于3D描边,其实之前有用shader弄过一个:【实现100个unity特效】shader实现3D物品闪光和描边效果

但是很遗憾的是他不支持URP项目,所以现在推荐这款插件,他能很好的支持URP,对于HDRP我没有试过,官方也没有说明,需要的可以去试试看

地址

https://assetstore.unity.com/packages/tools/particles-effects/quick-outline-115488#reviews

介绍

快速轮廓是一个世界空间轮廓工具,可为任何对象添加实心轮廓。

它非常适合 VR。

许多轮廓着色器在屏幕空间中工作,这使得它们的速度很慢,而且它们不支持 MSAA。如果他们确实在世界空间中工作,那么他们在硬角落里有"间隙"。快速大纲解决了这些问题。

Quick Outline 最初是为 VR 设计的,因此它支持实例化立体渲染和 MSAA。它在任何 HMD 中看起来都很棒,并且不会影响帧速率。

  • 专为 VR 设计(包括单次通过)
  • 支持 MSAA
  • 与后处理堆栈
    兼容 - 多种轮廓模式
  • 轻巧且高性能

使用例子

预制体挂载脚本

效果

代码控制轮廓显示隐藏

csharp 复制代码
private void Update()
{
    // 发射一条从相机视口中心向屏幕内部发出的射线
    Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0));
    RaycastHit hit;

    // 检测射线是否击中物体
    if (Physics.Raycast(ray, out hit))
    {
        GameObject objectHitByRaycast = hit.transform.gameObject;

        // 如果被射线击中的物体有 Weapon 组件
        if (objectHitByRaycast.GetComponent<Weapon>())
        {
            // 获取 Weapon 组件并启用 outline
            Weapon hoveredWeapon = objectHitByRaycast.GetComponent<Weapon>();
            hoveredWeapon.GetComponent<Outline>().enabled = true;
        }
        else
        {
            // 如果被射线击中的物体没有 Weapon 组件,或者没有 Outline 组件,则禁用 outline
            if (hoveredWeapon != null)
            {
                hoveredWeapon.GetComponent<Outline>().enabled = false;
            }
        }
    }
}

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,最近开始自学unity,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!php是工作,unity是生活!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

相关推荐
WarrenMondeville1 小时前
1.Unity面向对象-单一职责原则
unity·设计模式·c#
WarrenMondeville1 小时前
2.Unity面向对象- 开闭原则
unity·游戏引擎·开闭原则
twe77582582 小时前
从极限测试到3D动画:揭开CCP-RIE的隐秘面纱
科技·3d·制造·动画
呆呆敲代码的小Y2 小时前
UnityMCP+Claude+VSCode,构建最强AI游戏开发环境
人工智能·vscode·游戏·unity·游戏引擎·u3d·mcp
C蔡博士2 小时前
Unity TextMeshPro 中文本地化:动态生成最小字体集(解决边缘模糊、乱码问题)
unity·游戏引擎
m0_630182462 小时前
Unity TMP 中文字体生成
unity·游戏引擎
IT从业者张某某2 小时前
基于DEVC++实现一个控制台的赛车游戏-02-实现赛车游戏
开发语言·c++·游戏
weixin_409383122 小时前
godot y排序定位 sprite原点 等轴视角地图块测试 isometric 碰撞测试 初学godot
游戏引擎·godot
云边散步3 小时前
godot2D游戏教程系列二(22)
笔记·学习·游戏
万兴丶3 小时前
Unity用C#完成抖音小游戏接入引力引擎(Gravity Engine)完整指南,一篇文章讲清楚!
unity·c#·游戏引擎·抖音