[XR-FRAME] 1.O2 文档导览 || XR-FRAME / 添加一个物体

news/2025/2/14 8:32:05/

本文 根据  官方文档 章节  进行学习导览,知识点整理。

”XR-FRAME /开始 - 添加一个物体“ 

开始 | 微信开放文档

新涉及到的 知识点: 

标签:  

    <xr-scene>

    <xr-camera>  

    <xr-mesh>

    <xr-asset-material>

    <xr-scene>  

        描述  :  在最外层 ,字面意思,XR场景。 类似于 view 组件包裹在最外层。 

     <xr-camera>  

        描述: 摄像头组件, 即视角 的 位置。 

        属性: (目前已涉及的)

        clear-color  : (目前不明)可以查 xr-camera 单页的详细文档,略过。

        position  : x y z 三个轴的 数值 

        target:   "cube"  这里通过 xr-mesh 中声明过的 node-id 确定到 是哪一个目标。

        carera-orbit-control : 打开摄像头可以旋转的控制 属性。

    <xr-mesh> 

        描述: 加载了 物件出来,物件的实体标签。

        属性: 

        node-id : 给不同的物体 声明  id , 可以标识到对应的 物体。

        geometry: 设置几何体 为 cube 

                更详细的 关于 xr-frame 的geometry 文档参见:

                XR-FRAME / Classes / Geometry (qq.com) 

                定制自己的几何体并注册: 

                XR-FRAME / 渲染 / 几何数据(Geometry) (qq.com)      

<xr-asset-material>  

        (原文:物体黑色是因为在我们没有给xr-mesh指定材质时,用的是基于PBR效果的默认材  质,需要光照,解决这个问题有两种方法,其一是不需要光照的物体,可以使用simple材质,这里就引入了材质定义:)

        描述:用来设定 物体的材质,asset-material 字面意思

        属性:        

        asset-id:   simple

        effect:       simple

        uniforms  :  u_baseColorFactor:0.8 0.4 0.4 1

        

 asset-id="simple" effect="simple" uniforms="u_baseColorFactor:0.8 0.4 0.4 1"

文档片段1: 

物体黑色是因为在我们没有给xr-mesh指定材质时,用的是基于PBR效果的默认材质,需要光照,解决这个问题有两种方法,其一是不需要光照的物体,可以使用simple材质,这里就引入了材质定义:

文档片段2: 

虽然这可以解决一些问题,但大部分情况下我们还是需要灯光的,就让我们把材质改回去,然后加上一些灯光吧:

<xr-light type="ambient" color="1 1 1" intensity="1" />
<xr-light type="directional" rotation="40 70 0" color="1 1 1" intensity="3" cast-shadow /><xr-meshnode-id="cube" cast-shadowgeometry="cube" uniforms="u_baseColorFactor:0.8 0.4 0.4 1"
/>
<xr-meshposition="0 -1 0" scale="4 1 4" receive-shadowgeometry="plane" uniforms="u_baseColorFactor:0.4 0.6 0.8 1"
/>

文档理解: 

    1. 物体黑色 是因为 xr-mesh 没有指定材质 

    2.  解决方案1:(不常用情况),在不添加光源的情况下,只添加材质,设置为 simple 材质,可以解决物体黑色的问题。

    3. 解决方案2:( 标准解) 去除 <xr-asset-material> 标签以及定义的simple部分代码。

        在xr-mesh 标签内 完成材质的定义。   ​     

                uniforms="u_baseColorFactor:0.8 0.4 0.4 1" 

 

<xr-scene>

    <xr-light type="ambient" color="1 1 1" intensity="1" />

    <xr-light type="directional" rotation="40 70 0" color="1 1 1" intensity="3" cast-shadow />

    <xr-mesh node-id="cube" geometry="cube" uniforms="u_baseColorFactor:0.8 0.4 0.4 1"/> 

    <xr-camera clear-color="0.4 0.8 0.6 1" position="0 1 4" target="cube" camera-orbit-control />

</xr-scene>

       

接着 照着文档 添加 光影效果,以及第二个 xr-mesh   

引入了 <xr-mesh> 的3个新属性 

 <xr-mesh> 

        属性:           

        cast-shadow : 制造阴影

        receive-shadow : 接受阴影

        uniform : 定义材质, 目前看起来是通过 rgb 定义色号   ,具体参照单独的文档去使用吧。


http://www.ppmy.cn/news/1124614.html

相关文章

8月最新修正版风车IM即时聊天通讯源码+搭建教程

8月最新修正版风车IM即时聊天通讯源码搭建教程。风车 IM没啥好说的很多人在找,IM的天花板了,知道的在找的都知道它的价值,开版好像就要29999,后端加密已解,可自己再加密,可反编译出后端项目源码,已增加启动后端需要google auth双重验证,pc端 web端 wap端 android端 ios端 都有 …

并发任务队列(字节青训测试题)

需求描述 封装一个并发任务队列类&#xff0c;用于对一些异步任务按指定的并发数量进行并发执行。 /*** 延迟函数* param {number} time - 延迟时间* return {Promise} delayFn - 延迟函数(异步封装)*/ function timeout(time) {return new Promise((resolve) > {setTimeo…

crypto:看我回旋踢

题目 下载压缩包后解压可得到提示文本 经过观察&#xff0c;synt{}这个提示与flag{}形式很像 由题目名中的回旋可以推测为凯撒密码&#xff0c;由凯撒密码的定义可知&#xff0c;需要先推出移位数&#xff0c;s->f数13次&#xff0c;因此移位数为13&#xff0c;解码可得

聊聊设计模式——解释器模式

目录 解释器模式定义 优点 缺点 解释器模式结构说明 工作流程 代码示例 应用场景 本质 涉及的设计原则 相关设计模式 开源框架中的应用 解释器模式定义 给定一个语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;这个解释器使用该表…

【广州华锐互动】马属直肠检查3D虚拟仿真课件

随着科技的发展&#xff0c;医疗行业也在不断地进行创新。其中&#xff0c;广州华锐互动开发的马属直肠检查3D虚拟仿真课件&#xff0c;为医学教育和实践操作带来了新的可能性。它不仅可以帮助医生提高诊断准确率&#xff0c;还可以让医学生在没有真实病人的情况下进行实践操作…

笔试强训Day3

学了一坤时Linux&#xff0c;赶紧来俩道题目放松放松。 T1&#xff1a;在字符串中找出连续最长的数字串 链接&#xff1a;在字符串中找出连续最长的数字串__牛客网 输入一个字符串&#xff0c;返回其最长的数字子串&#xff0c;以及其长度。若有多个最长的数字子串&#xff0c…

React中setState的原理及深层理解

1.为什么使用setState React并没有实现类似于Vue2中的Object.defineProperty或者Vue3中的Proxy的方式来监听数据的变化 我们必须通过setState来告知React数据已经发生了变化 setState方法是从Component中继承过来的。 2.setState异步更新 setState设计为异步&#xff0c;可…

Java中的全局变量和局部变量

在Java中&#xff0c;全局变量和局部变量是两种不同作用域的变量。 全局变量&#xff08;成员变量&#xff09;&#xff1a; 在类中定义的变量称为成员变量&#xff0c;也叫全局变量。它们的作用域是整个类&#xff0c;在类的任何地方都可以被访问。如果没有显式地初始化&#…