当前位置:   article > 正文

PICO4 传送门效果开发小结之多重传送门代码实现_pico传送门

pico传送门

一、简述

        本篇文章采用模板测试实现多重传送门效果。开发所用Unity版本为2021.3.20f1c1,采用Unity的通用渲染管线(Universal Render Pipeline,URP)进行开发,所以模型资源素材所用材质需要支持URP。

        实现原理简介参见:PICO4 传送门效果开发小结之原理篇

二、实现过程

1、创建项目

        为了便于操作,我们可以直接创建URP 3D项目。

2、搭建场景

(1)PICO环境搭建

        参见:PICO SDK 配置,此处不再赘述。

(2)视频透视配置

        参见:PICO 视频透视,此处不再赘述。注意:取消勾选URP资产的HDR选项。

(3)传送门制作

        可以依据需求创建多个传送门,这里以创建两个为例。

        以传送门1为例,可以找一个传送门模型或者特效作为可视参照,在门的两端制作模板测试Shader依附物和Underlay“开洞”Shader依附物。依附物可以采用Unity自带的Quad制作,这里将观看虚拟世界的Quad表示为Quad[See Virtual],将观看真实世界的Quad表示为Quad[See Reality]

        Quad[See Virtual]材质采用模板测试Shader制作,代码如下。

  1. Shader "MixedReality/StencilTest"
  2. {
  3. Properties
  4. {
  5. [IntRange] _StencilID ("Stencil ID", Range(0, 255)) = 0
  6. }
  7. SubShader
  8. {
  9. Tags
  10. {
  11. "RenderType"="Opaque"
  12. "Queue"="Geometry"
  13. "RenderPipeline"="UniversalPipeline"
  14. }
  15. Pass
  16. {
  17. Blend Zero One
  18. ZWrite Off
  19. Stencil
  20. {
  21. Ref [_StencilID]
  22. Comp Always
  23. Pass Replace
  24. Fail Keep
  25. }
  26. }
  27. }
  28. }

        将Quad[See Virtual]材质的Stencil ID属性修改为1,便于后续进行条件比较。

        Quad[See Reality]材质采用Underlay“开洞”Shader制作,代码可参照PICO SDK自带Shader,从以下目录找到。

        代码如下。

  1. Shader "MixedReality/UnderlayHole"
  2. {
  3. SubShader
  4. {
  5. Tags {"Queue" = "Geometry+1" "RenderType" = "Transparent"}
  6. LOD 200
  7. Pass
  8. {
  9. //Cull Front
  10. Cull Back
  11. CGPROGRAM
  12. #pragma vertex vert
  13. #pragma fragment frag
  14. #include "UnityC
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/1020804
推荐阅读
相关标签
  

闽ICP备14008679号