uniapp微信小程序使用xr加载模型的操作方法

 更新时间:2024年07月03日 10:52:31   作者:一只大菜鸟J  
这篇文章主要介绍了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().windowWidth
			this.height = uni.getWindowInfo().windowHeight
			const dpi = uni.getWindowInfo().pixelRatio
			this.renderWidth = this.width * dpi
			this.renderHeight = this.height * dpi
		},
		data() {
			return {
				width: 300,
				height: 300,
				renderWidth: 300,
				renderHeight: 300,
				modelPath: ''
			}
		},
		methods: {}
	}
</script>
<style>
</style>

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

到此这篇关于uniapp微信小程序使用xr加载模型的文章就介绍到这了,更多相关uniapp微信小程序使用xr内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文带你掌握JavaScript中数组处理方法(含静态方法)

    一文带你掌握JavaScript中数组处理方法(含静态方法)

    这篇文章主要为大家详细介绍了JavaScript中数组处理方法,包含静态方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2026-02-02
  • js阻止事件追加的具体实现

    js阻止事件追加的具体实现

    可以使用 e.stopPropagation(); e.preventDefault();来阻止事件冒泡,和默认事件的执行。但不能阻止事件的追加,如要追加,请看下面的实现方法
    2014-10-10
  • 第五篇Bootstrap 排版

    第五篇Bootstrap 排版

    使用bootstrap的排版特性可以创建标题,段落,列表及其它内联元素。本文重点给大家介绍Bootstrap 排版 知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-06-06
  • JavaScript中reduce()的用法实例

    JavaScript中reduce()的用法实例

    reduce()方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值,下面这篇文章主要给大家介绍了关于JavaScript中reduce()的用法实例,需要的朋友可以参考下
    2022-05-05
  • Nuxt.js开启SSR渲染的教程详解

    Nuxt.js开启SSR渲染的教程详解

    Nuxt.js 是一个基于 Vue.js 的通用应用框架。 通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI渲染。这篇文章主要介绍了Nuxt.js开启SSR渲染 ,需要的朋友可以参考下
    2018-11-11
  • js封装的textarea操作方法集合(兼容很好)

    js封装的textarea操作方法集合(兼容很好)

    对应用到对textarea处理的朋友可以参考下。控制的比较不错的代码封装。
    2010-11-11
  • Bootstrap对话框使用实例讲解

    Bootstrap对话框使用实例讲解

    这篇文章主要为大家详细介绍了Bootstrap对话框使用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化

    基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化

    这篇文章主要介绍了基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化的相关知识,主要对比说明在Bootstrap开发中用到的这些技术要点,对此文感兴趣的朋友一起学习吧
    2016-05-05
  • JavaScript实现拖动对话框效果的实现代码

    JavaScript实现拖动对话框效果的实现代码

    这篇文章主要介绍了JavaScript实现拖动对话框效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • JS实现的简单折叠展开动画效果示例

    JS实现的简单折叠展开动画效果示例

    这篇文章主要介绍了JS实现的简单折叠展开动画效果,可实现类似百度页面分享按钮一样的折叠展开动画效果,涉及javascript页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2018-04-04

最新评论