当前位置: 首页 > 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原有的骨骼上才行

相关文章:

  • Python实例题:Python实现Python解释器
  • Three.js + React 实战系列-3D 个人主页:构建 About 组件 (响应式 + 互动 + 动效)✨
  • 华为云服务器VoceChat在线聊天室部署
  • 注册登录页面项目
  • Ocelot\Consul\.NetCore的微服务应用案例
  • 构建现代分布式云架构的三大支柱:服务化、Service Mesh 与 Serverless
  • 微软推出数款Phi 4“开放式”人工智能模型
  • 系统架构设计师:设计模式——创建型设计模式
  • 微软与Meta大幅增加人工智能基础设施投入
  • 普通 html 项目也可以支持 scss_sass
  • Anaconda中配置Pyspark的Spark开发环境
  • 【中间件】bthread_数据结构_学习笔记
  • terraform 删除资源前先校验资源是否存在关联资源
  • AJAX 实例
  • 【Linux】线程池和线程补充内容
  • Qwen3 正式发布
  • C++——入门基础(2)
  • 工 厂 模 式
  • 游戏引擎学习第252天:允许编辑调试值
  • 企业内训|智能驾驶与智能座舱技术——某汽车厂商
  • 韩国法院将重审李在明案,韩德洙入局能否为大选带来变数?
  • 美国第一季度经济环比萎缩0.3%,特朗普:怪拜登,与关税无关
  • 五一假期,这些短剧值得一刷
  • 印度宣布即日起对所有巴基斯坦航班关闭领空
  • 美国务院宣布新一轮与伊朗相关的制裁
  • 湖北鄂州通报4所小学学生呕吐腹泻:供餐企业负责人被采取强制措施