当前位置: 首页 > article >正文

【案例】三维物体描边

开发平台:Unity 6
开发工具:Shader Graph
参考视频:Unity教程 — Shader Graph 超简单外框材质

一、效果展示


在这里插入图片描述

二、Shader Graph 路线图


在这里插入图片描述

三、案例分析


核心思路:外轮廓实质由双材质渲染叠加的最终效果,模型材质优先于外轮廓材质表现。

3.1 说明 | 获取模型空间位置信息

在这里插入图片描述
Postion(位置节点):允许访问网格顶点或片元的位置
为访问模型自身顶点位置信息,限制 Mode = Object。具体区别如下:

图1 模型空间
图2 世界空间

参考图2。在 “苏珊娜” 的模型中表现出两种材质颜色的模型。可理解为实际上由两种材质渲染的模型叠加效果。在层级遮挡的影响下,给出视觉的表现效果。在实现的效果上,可以是 Positon(位置节点)x Scale(变量 缩放倍数)来达到效果。
因为要求始终作为最后层被覆盖,于是设置上该材质使用 Back(仅背面渲染)。避免因为缩放的正面模型覆盖原模型问题。

3.2 说明 | 管理外轮廓厚度

在这里插入图片描述
仅按照 Positon(位置节点)x Scale(变量 缩放倍数)来实现第二材质模型效果是存在瑕疵的。如下所示:

图1 仅缩放
图2 法线叠加

为了改进外轮廓的统一表现,提出了 Normal Vector(法线坐标)作为缩放参考标准。(类似模型挤出)
Normalize(法线归一化节点)x 变量 Scale 计算外轮厚度,将结果与 Positon(位置节点)相加得到最终的外轮廓位置信息。

关于 图2 法线叠加 中红色描框的说明
  这是由于模型自身精细度所造成的,当定点数过于少时,造成的缝隙效果。解决方式为模型增加平滑度即可。


http://www.kler.cn/a/371163.html

相关文章:

  • 配置系统使用
  • 【338】基于springboot的IT职业生涯规划系统
  • 什么是标准差?详解
  • MySQL 数据库备份与恢复全攻略
  • ERC论文阅读(03)--SPCL论文阅读笔记(2024-10-29)
  • Qt元对象系统 —— 信号与槽
  • pyav保存视频
  • RN如何实现页面渐变背景
  • 探索 MongoDB 的奇幻世界:路由、分片与节点的三重奏
  • asp.net Core日志 ILoggerFactory、ILogger、ILoggerProvider
  • C++第4课——swap、switch-case-for循环(含视频讲解)
  • 【机器学习】环境搭建及Sklearn鸢尾花数据集
  • 字节青训营 | 数字分组求偶数和
  • 【C++指南】类和对象(五):类的默认成员函数——全面剖析 赋值运算符重载函数
  • Spring+SpringMVC+SpringJDBC搭建web项目实现商品查询
  • 什么?Flutter 又要凉了? Flock 是什么东西?
  • STM32F1学习——EXTI
  • C++中如何获取时间并格式化为字符串?
  • 【域攻防】超级黄金票据食用指南
  • 快速遍历包含合并单元格的Word表格
  • 信息安全数学基础(33)群
  • 使用DeepLabV3实现植叶病害检测
  • 蓝桥杯基本算法~~~一维/二维前缀和问题
  • 【ComfyUI】手动安装部署ComfyUI的运行环境
  • QML旋转选择器组件Tumbler
  • 第十一章 Shiro会话管理和加密