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

【Quest开发】极简版!透视环境下抠出身体并能遮挡身体上的服装

前两天发了一个很复杂的版本,又鼓捣了一下发现完全没有必要。我之前的理解有点偏(不是错误的但用法错了),但是有一些小伙伴收藏了,害怕里面的某些东西对谁有用,所以写了一篇新的,前两步配置环境和之前一样。

软件:Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72

硬件:Meta Quest3

仅实验urp管线

博主搞这个主要是想做现实里的人的变身功能,最后效果如下

可以看到虽然身体是半透明的,但是裙子依旧被完全遮挡了 

速通原理: 将打开DepthTest(深度测试)DepthWrite(深度写入)的透明物体(身体)的渲染队列调至不透明物体(衣服)的前面,即完成遮挡

一、使用BuildingBlocks设置透视环境

注意:透视有个坑是camera不能开postprocessing(后处理),开后处理会导致环境全黑

二、配置一个具有全身追踪的玩家物体,可参考这篇

【Quest开发】全身跟踪(一)_quest3如何识别跟踪脚部-CSDN博客​​​​​​

我为了绑定准确直接使用meta默认的全身追踪示例

三、修改材质

仅需修改身体材质,创建一个Lit ShaderGraph(主要是我不会写shader,会写shader的朋友也可以写shader)如下配置(红框地方一致即可)

把它给到身体要用的材质,修改属性如下

这里面翻译过来就是,这是一个透明的,透明度为0的,但会像不透明物体一样写入深度和测试深度的,渲染队列排在一般不透明物体更前面(也就是先将深度值写入深度缓冲区)的材质。

找到全身追踪物体下的Amature_Mesh,替换全身材质 

 

完成咯,是不是简单多了,也好理解多了。还是不太理解的朋友可以看一下这篇讲渲染顺序的,给了我很大的启发

Unity 渲染原理(十二)透明效果与渲染队列 | Origin of Ray

 


这样虽然实现了遮挡关系,但是运行了的朋友应该会发现衣服不会跟着身体动,需要导入到建模软件重新蒙皮哦,把衣服也蒙皮到meta原有的骨骼上才行

http://www.xdnf.cn/news/244495.html

相关文章:

  • 免费实用的图像处理工具箱​
  • Java 泛型参数问题:‘ResponseData.this‘ cannot be referenced from a static contex
  • 原型模式(Prototype Pattern)详解
  • K8S - ReplicaSet 与 Deployment 深度解析与实战
  • Curl 全面使用指南
  • 【含文档+PPT+源码】基于大数据的交通流量预测系统
  • WebStorm用户界面
  • 【排序算法】八大经典排序算法详解
  • Wireshark抓取SMTP协议报文
  • 算法查找目录
  • Webug4.0靶场通关笔记08- 第11关万能密码登录(SQL注入漏洞)
  • Linux之shell脚本
  • Golang多人在线坦克对战游戏(帧同步)
  • Android Kotlin 项目集成 Firebase Cloud Messaging (FCM) 全攻略
  • 多模态大语言模型arxiv论文略读(五十三)
  • 红利底波是什么意思?
  • WPF处理大规模激光数据计算与安全传输处理
  • 图论---有向图的强连通分量(Tarjan求SCC)
  • 程序代码篇---ESP32云开发
  • 深入解析 .NET Kestrel:高性能 Web 服务器的架构与最佳实践
  • NUC非均匀校正算法框架
  • Centos 7 yum配置出现一下报错:
  • 怪物猎人:世界-冰原10000+mod整合包5月最新更新!
  • 2025年RAG技术发展现状分析
  • cPanelWHM 的 AutoSSL
  • ctfshow web入门 web45
  • 哈希表笔记(二)redis
  • 机器人--架构及设备
  • Unity SpriteAtlas (精灵图集)
  • 使用vue的插值表达式渲染变量,格式均正确,但无法渲染