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

uniapp微信小程序使用xr加载模型

1.在根目录与pages同级创建如下目录结构和文件:

// index.js
Component({properties: {modelPath: { // vue页面传过来的模型type: String,value: ''}},data: {},methods: {}
})
{ // index.json"component": true,"renderer": "xr-frame","usingComponents": {}
}
<!-- index.wxml -->
<!-- 加载静态模型 --><xr-scene render-system="alpha:true" bind:ready="handleReady"><xr-node><xr-light type="ambient" color="1 1 1" intensity="2" /><xr-light type="spot" position="3 3 3" color="1 1 1" range="3" intensity="5" /><xr-assets><!--  options="ignoreError:-1" --><xr-asset-load type="gltf" asset-id="gltf-model" src="{{modelPath}}"/></xr-assets><xr-gltf scale="0.7 0.7 0.7" node-id="gltf-model" bind:gltf-loaded="handleGLTFLoaded" model="gltf-model"></xr-gltf></xr-node><xr-camera id="camera"  clear-color="0 0 0 0" position="1 1 2" target="gltf-model" camera-orbit-control/></xr-scene>

2.pages.json配置

{"path": "pages/resource/preview/preview","style": {"navigationBarTitleText": "效果预览","enablePullDownRefresh": false,"navigationBarBackgroundColor": "#73ceda","usingComponents": {"xr-start": "/wxcomponents/xr-start"},"disableScroll": true}}

3.manifest.json配置

"mp-weixin": {"appid": "自己的appid","setting": {"urlCheck": false,"postcss": true,"es6": true,"minified": true,"ignoreDevUnusedFiles": false,"ignoreUploadUnusedFiles": false},"usingComponents": true,"lazyCodeLoading": "requiredComponents"},

4.使用preview.vue

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

不占主包空间(可以忽略)

相关文章:

  • 代谢组数据分析十一:典型相关分析
  • golang使用RSA加密和解密
  • Nosql期末复习
  • 机器人----四元素
  • Cocos制作抖音小游戏接入侧边栏复访接口实例
  • 6.29学习笔记
  • 【RabbitMQ实战】Springboot 整合RabbitMQ组件,多种编码示例,带你实践 看完这一篇就够了
  • ONLYOFFICE 桌面编辑器 8.1全新发布,更强大的编辑工具
  • C# 警告 warning MSB3884: 无法找到规则集文件“MinimumRecommendedRules.ruleset”
  • 终极指南:RNNS、Transformers 和 Diffusion 模型
  • Stirling PDF 部署 - 强大的PDF Web在线编辑工具箱
  • Linux环境安装配置nginx服务流程
  • Linux:网络基础1
  • Python基础之错误和异常讲解
  • ArkTS自定义组件
  • CentOS7简单部署NFS
  • echarts花样作死的坑
  • EOS是什么
  • leetcode46 Permutation 排列组合
  • MySQL的数据类型
  • python 学习笔记 - Queue Pipes,进程间通讯
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • vue中实现单选
  • 动态规划入门(以爬楼梯为例)
  • 驱动程序原理
  • 深度学习入门:10门免费线上课程推荐
  • 说说动画卡顿的解决方案
  • 温故知新之javascript面向对象
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 在Mac OS X上安装 Ruby运行环境
  • ​Java并发新构件之Exchanger
  • ​TypeScript都不会用,也敢说会前端?
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • $.ajax中的eval及dataType
  • (二十四)Flask之flask-session组件
  • (翻译)terry crowley: 写给程序员
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ***通过什么方式***网吧
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .Net 高效开发之不可错过的实用工具
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • /etc/sudoer文件配置简析
  • [ARC066F]Contest with Drinks Hard
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [C++]打开新世界的大门之C++入门