微信小程序 加载 fbx 模型

这篇具有很好参考价值的文章主要介绍了微信小程序 加载 fbx 模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        three.js在微信小程序端加载3D动画fbx模型的代码。 得到了fbx模型的http链接,使其加载在小程序端,都是适配小程序版本的代码 其中three_new.js是小程序版的3D加载库文件 FBXLoader_new是小程序版本的fbx模型的加载器 inflate.min.js是小程序版的压缩解压库 model.js里面的export函数可以直接调用,把fbx模型的http链接还有相关的dom节点传进去就可以加载啦~

微信小程序实现从外部加载3d模型
1.3d模型的几种格式?
2.怎样加载3d模型?
3.总结(贴了自己写的整个项目github地址)

1.模型的格式
小程序支持从外部加载3d模型的几种格式有:
a.obj格式
b.gltf格式
c.fbx格式
就列举这几种

2.加载3d模型
用 gltf 格式的模型
gltf 3d模式格式有两种:
gltf是一个基于json的文本文件,如纹理贴图和二进制网格数据;
glb是二进制版本,通常较小且独立,但不易编辑。

(1)首先文件
下载适配微信小程序的 three.js 地址:https://github.com/wechat-miniprogram/threejs-miniprogram

(2)导入文件
需要导入three.js 和 gltf-loader.js (加载模型)
从下载好的压缩包里复制目录 threejs-miniprogram-master\example\miniprogram_npm\threejs-miniprogram 的 [index.js] 文件
以及 threejs-miniprogram-master\example\loaders 里的 [gltf-loader.js] 文件

<view style="height: 50px"></view>
<canvas type="webgl" id="webgl" style="width: 100%; height: 450px;"></canvas>
<canvas type="webgl" id="webgl" style="width: 100%; height: 300px;"></canvas>

 文章来源地址https://www.toymoban.com/news/detail-484463.html

import { createScopedThreejs } from 'threejs-miniprogram';
import { registerGLTFLoader } from '../loaders/gltf-loader';

const app = getApp();
var camera, scene, renderer, model;
var requestAnimationFrame; // 动画回调函数

Page({
  data: {},
  onLoad: function () {
    let that = this;

    var query = wx.createSelectorQuery();
    query.select('#webgl').node().exec((res) => {

      var canvas = res[0].node;
      // 设置背景透明
      var gl = canvas.getContext('webgl', {
        alpha: true
      });

      if (canvas != undefined) {
        //  canvas.width 和canvas.style都需要设置,否则无法显示渲染
        canvas.width = canvas._width;
        canvas.height = canvas._height;
        requestAnimationFrame = canvas.requestAnimationFrame;
        that.init(canvas);
      }
    });
  },

  init: function(canvas){
    let that = this;
    const THREE = createScopedThreejs(canvas)
    registerGLTFLoader(THREE)
    //设置相机
    camera = new THREE.PerspectiveCamera(45, canvas.width / canvas.height, 0.25, 100);
    camera.position.set(- 5, 3, 10);
    camera.lookAt(new THREE.Vector3(0, 2, 0));
    scene = new THREE.Scene();
    //设置光线
    var light = new THREE.HemisphereLight(0xffffff, 0x444444);
    light.position.set(0, 20, 0);
    scene.add(light);
    light = new THREE.DirectionalLight(0xffffff);
    light.position.set(0, 20, 10);
    scene.add(light);
    //加载外部模型
    var loader = new THREE.GLTFLoader();
    loader.load('https://threejs.org/examples/models/gltf/RobotExpressive/RobotExpressive.glb', function (gltf) {
      model = gltf.scene;
      scene.add(model);
    }, undefined, function (e) {
      console.error(e);
    });
    renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(canvas.width, canvas.height);
    //调用动画
    that.animate();
  },

  animate:function(){
    let that = this;
    requestAnimationFrame(that.animate);
    renderer.render(scene, camera);
  }
})

到了这里,关于微信小程序 加载 fbx 模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序3D,使用Three.js在微信小程序中展示gltf模型,使用VisionKit展示AR能力

    本仓库只开源gltf模型展示技术,技术好的朋友有这些代码就能帮助你解决很多问题了 如需要完整项目(基于若依框架开发的后端,AR能力前端)需另外付费赞助, 联系方式:QQ 790002517 微信公众号:时不待我 https://github.com/zzy-life/Wechat3D Three.js Three.js is a JavaScript 3D library. thr

    2024年02月09日
    浏览(44)
  • Three.js 在微信小程序中实现3D展厅

            在微信小程序中,使用和构建3D数字孪生应用一直是我的梦想。经过我多年的学习和积累,终于实现了基础的业务功能,并且已经在微信小程序上成功发布、上线。( 目前样式比较丑,待优化的地方还很多,我回努力的 )。       小程序的名称”元宇宙1314”,小程

    2024年02月04日
    浏览(42)
  • 微信小程序集成three.js--VR全景项目源码

    小程序集成Three.js,展示不同贴图材质的运用 实现VR全景效果的部分,主要实现步骤如下: 1 创建一个正方体 2加载6个不同面的图片作为正方体的材质 3设置正方体属性 cube.geometry.scale(1,1,-1),即完成了正方体面的反转 4将camera的位置设置在正方体内部,即实现了从内部观察正

    2024年02月11日
    浏览(48)
  • Three.js 模型加载及加载简单动画

    时间过的好快啊~再一次感叹,忙忙碌碌一年又过去了,新年第一帖,新的一年也要加油呀! 简单介绍下Three.js吧,Three.js是基于原生WebGL封装运行的三维引擎,在所有WebGL引擎中,Three.js是国内文资料最多、使用最广泛的三维引擎。因为使用简单,入门比较容易。 Three.js的具体

    2024年02月12日
    浏览(48)
  • Three.js之加载外部三维模型

    建模软件绘制3D场景 … 加载.gltf文件(模型加载全流程) 注:基于Three.js v0.155.0 三维建模软件 gltf格式 加载.gltf文件 OrbitControls辅助设置相机参数:相机位置、相机目标对象 gltf不同文件形式(.glb) 模型命名(程序与美术协作): .getObjectByName() 递归遍历层级模型修改材质: .traverse

    2024年02月05日
    浏览(41)
  • Three.js--》建模软件如何加载外部3D模型?

    目录 三维建模软件的介绍 Blender官方文档介绍 Blender软件安装 GLTF格式简介 gltf不同文件形式         看过我之前讲解的three文章的人都知道,我在创建模型的时候都没有使用three.js自带的一些简单模型,而是引入外部的模型并加载到页面上, 简言之 :对于简单的立方体、

    2024年02月06日
    浏览(40)
  • 【three.js / React-three-fiber】加载3D模型性能优化

    无论是大型虚拟世界还是简单的网站,性能优化都是必要的。 特别是在运用三维模型的情况下,我们需要更加深入的优化。因为 三维模型通常包含大量的数据和复杂的几何形状 ,如果不进行性能优化,浏览器可能会因为负载过重而崩溃。 在本文中,我们将探讨如何在 thre

    2024年02月02日
    浏览(49)
  • Unity运行时程序动态加载外部.fbx.obj模型文件

    项目中有用到这个需求,为实现Unity程序运行状态下,从程序外部动态加载fbx或obj模型,所以研究了一下,目前TriLib比较靠谱,好用,多平台适用。会提供 下载插件地址。 unity运行时加载fbx 使用的插件 下载插件地址 将Trilib压缩包内容解压到Unity工程Assets文件夹下,返回工程等

    2024年02月16日
    浏览(44)
  • Three.js一学就会系列:05 加载3D模型

    Three.js一学就会系列:01 第一个3D网站 Three.js一学就会系列:02 画线 Three.js一学就会系列:03 炫酷3D划线 Three.js一学就会系列:04 炫酷3D文字 最近开始入坑前端3D建站,跟大家一起慢慢深入three.js做网站3D 这篇文章给大家讲下 如何加载一个3D模型 GLTFLoader : 加载GLTF加载器,glT

    2024年02月02日
    浏览(47)
  • 微信小程序加载本地json和使用gulp压缩js

    创建json.js, data 里是json内容,exports 是数据出口 使用 这个require后面的参数是入口文件的文件路径,但是注意必须是相对路径,不能绝对路径。 小程序提示\\\"以下文件体积超过 500KB,已跳过压缩以及 ES6 转 ES5 的处理\\\" 环境 安装node.js(npm) 安装git npm install --global gulp 全局安装gu

    2024年02月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包