欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > uniapp微信小程序3D XR-FRAME

uniapp微信小程序3D XR-FRAME

2025/2/22 16:36:22 来源:https://blog.csdn.net/CHENC0518/article/details/141817192  浏览:    关键词:uniapp微信小程序3D XR-FRAME

1.在pages.json中配置展示页面(style中添加下面:)

"usingComponents": {

          "xr-start": "../../wxcomponents/xr-start"

        }

2.manifest.json中配置mp-weixin

"setting" : {

            "urlCheck" : false,

            "postcss" : true,

            "es6" : true,

            "minified" : true

        },

        "usingComponents" : true,

         "lazyCodeLoading" : "requiredComponents",

3.pege文件同级依次建立文件wxcomponenrs/xr-start/(index.js、index/json、index/wxml)

4.index.js

// index.js

Component({

  properties: {},

  data: {},

  methods: {},

});

5. index.json

{

  "component": true,

  "renderer": "xr-frame",

  "usingComponents":{}

}

6. index.wxml(页面3d渲染内容,详情参考文档)

<xr-scene>

<xr-assets bind:progress="handleAssetsProgress" bind:loaded="handleAssetsLoaded">
 <xr-asset-load type="gltf" asset-id="damage-helmet" src="/static/gltf/lou.gltf" />

</xr-assets>


<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-gltf node-id="damage-helmet" model="damage-helmet" />
<xr-gltf model="miku" position="-0.15 0.75 0" scale="0.07 0.07 0.07" rotation="0 180 0" anim-autoplay />

<xr-camera
  position="0 15 60" target="damage-helmet" background="skybox"
  clear-color="0.4 0.8 0.6 1" camera-orbit-control
/>
</xr-scene>

7. 页面.vue

<template><view style="display: flex; flex-direction: column"><xr-startid="main-frame"disable-scroll:width="renderWidth":height="renderHeight":style="'width:' + width + 'px;height:' + height + 'px;'"></xr-start></view>
</template><script>
export default {data() {return {width: 300,height: 300,renderWidth: 300,renderHeight: 300,};},onLoad(option) {this.width = uni.getWindowInfo().windowWidth;this.height = uni.getWindowInfo().windowHeight;const dpi = uni.getWindowInfo().pixelRatio;this.renderWidth = this.width * dpi;this.renderHeight = this.height * dpi;},mounted() {},methods: {},
};
</script>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词