广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >Three.js加载外部模型的示例分析
  • 308
分享到

Three.js加载外部模型的示例分析

2024-04-02 19:04:59 308人浏览 安东尼
摘要

这篇文章主要介绍了Three.js加载外部模型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.  首先我们要在官网:

这篇文章主要介绍了Three.js加载外部模型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1.  首先我们要在官网: https://threejs.org/ 下载我们three.js压缩包,并将其中的build文件夹下的three.js通过script标签对的src属性导入到我们的页面中

2.  创建three.js核心对象

  Scene(场景)

  Camera(相机)

  Light(光源)

  Mesh(模型)

  Renderer(渲染器)

  最后一步就是渲染显示在我们的页面上了renderer.render(scene,camera)

3.  OBJ模型的导入

<script type="text/javascript" src="js/OBJLoader.js"></script>
 <script type="text/javascript" src="js/MTLLoader.js"></script>

Three.js加载外部模型的示例分析

4.  .JS模型的导入

首先我们需要将.OBJ模型的文件转换成.JS文件的模型

.obj格式转.js格式使用的是threejs.org官方提供的一个convert_obj_three.py的工具,这个工具的使用需要安装python环境

转换过程:

    将convert_obj_three.py和要转换的.obj文件和.mtl文件放在同一个目录下

Three.js加载外部模型的示例分析

打开cmd,切换到对应的目录下

Python convert_obj_three.py -i infile.obj -o outfile.js [-t ascii|binary]

    可以得到两种编码方式的.js文件(二进制binary和ascii)

出现的问题,转换格式的问题:

   打开.obj文件,

Three.js加载外部模型的示例分析

将mtllib关键字后面改成 .mtl文件相对于.obj文件的路径

Three.js加载外部模型的示例分析

将文件中的这些?改成字母,乱码

Three.js加载外部模型的示例分析

.mtl文件中的newmtl 关联到.obj文件中

Three.js加载外部模型的示例分析

这是.obj文件中的

5.  准备导入

Ascii

Three.js加载外部模型的示例分析

Binary

需要导入

<script src="js/BinaryLoader.js"></script>

Three.js加载外部模型的示例分析

PS:three.js 外部模型加载json

用blender做模型可以直接导出JSON文件(导出插件可以从three.js包里找到)。从网上下载模型,网上的模型很多事3Ds max做的,我就用3ds max把模型格式转换成obj,再导入blender处理好模型后导出json文件。

导出json文件时选项勾选如果选择了SCENE可连灯光一同导出加载时需要用ObjectLoader

var loader = new THREE.ObjectLoader(); 
loader.load('youscene1.json',function(obj){ 
  obj.scale.x = obj.scale.y = obj.scale.z =100; 
  scene.add(obj); 
});

导出json文件时如果不勾选scene,需要页面中添加灯光否则模型全黑,加载时用JSONLoader

var loader = new THREE.JSONLoader(); 
      loader.load( "noscene.json",function( geometry, materials ) { 
        materials[ 0 ].shading = THREE.FlatShading; 
        mesh = new THREE.Mesh( geometry, new THREE.MultiMaterial( materials ) ); 
        mesh.position.x = 0; 
        mesh.position.y = 0; 
        mesh.position.z = 0; 
        mesh.scale.x = mesh.scale.y = mesh.scale.z =100; 
        scene.add( mesh ); 
      });

感谢你能够认真阅读完这篇文章,希望小编分享的“Three.js加载外部模型的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网node.js频道,更多相关知识等着你来学习!

--结束END--

本文标题: Three.js加载外部模型的示例分析

本文链接: https://www.lsjlt.com/news/79247.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Three.js加载外部模型的示例分析
    这篇文章主要介绍了Three.js加载外部模型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.  首先我们要在官网: ...
    99+
    2022-10-19
  • Laravel之模型关联预加载的示例分析
    这篇文章将为大家详细讲解有关Laravel之模型关联预加载的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Laravel学习笔记之模型关联预加载说明:本文主要说明Laravel Eloquent的...
    99+
    2023-06-14
  • Vue集成three.js并加载glb、gltf、FBX、json模型的场景分析
    目录先上几个网址安装组件中引入 基本使用 补充 最近刚开始做的一个项目,后面有个模块要通过three.js实现3D的场景,因为之前也没接触过3D这块,就...
    99+
    2022-11-13
  • CommonJS中模块加载的示例分析
    这篇文章主要介绍CommonJS中模块加载的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!叨叨一会CommonJSCommon这个英文单词的意思,相信大家都认识,我记得有一个...
    99+
    2022-10-19
  • javascript模块加载器的示例分析
    这篇文章将为大家详细讲解有关javascript模块加载器的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。定义var MyModules =&...
    99+
    2022-10-19
  • Angular2中模块懒加载的示例分析
    这篇文章主要介绍了Angular2中模块懒加载的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。当项目变得复杂庞大以后,如果所有页面都...
    99+
    2022-10-19
  • js简易模块加载器的示例分析
    这篇文章主要为大家展示了“js简易模块加载器的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js简易模块加载器的示例分析”这篇文章吧。前端模块化关注前端...
    99+
    2022-10-19
  • Angular中模块和懒加载的示例分析
    这篇文章主要介绍Angular中模块和懒加载的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、Angular 内置模块二、Angular 自定义模块当我们项目比较小的时候可以不用自定义模块。但是当我们项目非...
    99+
    2023-06-06
  • Spring boot外部配置的示例分析
    这篇文章给大家分享的是有关Spring boot外部配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言在项目中为了灵活配置,我们常采用配置文件,常见的配置文件就比如xml和properties,sp...
    99+
    2023-05-30
    springboot
  • java类加载的示例分析
    这篇文章将为大家详细讲解有关java类加载的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、说明当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过以下三个步骤对该类进行初始化。2、...
    99+
    2023-06-15
  • java外观模式的示例分析
    这篇文章主要介绍java外观模式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!定义:        为子系统中的一组接口提供一个一致的界...
    99+
    2023-05-30
    java
  • Javarscript中模块、加载与捆绑的示例分析
    这篇文章给大家分享的是有关Javarscript中模块、加载与捆绑的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JS模块简介js模块化,简单说就是将系统或者功能分隔成单...
    99+
    2022-10-19
  • css盒模型的示例分析
    小编给大家分享一下css盒模型的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 1.各种盒模型 inline-blo...
    99+
    2022-10-19
  • 动态加载css的示例分析
    这篇文章给大家分享的是有关动态加载css的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、方法引用来源和应用此动态加载css方法 loadCss,剥离自Sea.js,并...
    99+
    2022-10-19
  • PHP中类加载的示例分析
    这篇“PHP中类加载的示例分析”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“PHP中类加载的示例分析”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。...
    99+
    2023-06-06
  • java类加载器的示例分析
    这篇文章给大家分享的是有关java类加载器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分布...
    99+
    2023-06-14
  • seajs中模块依赖加载处理的示例分析
    这篇文章将为大家详细讲解有关seajs中模块依赖加载处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:比如现有3个文件: define(functio...
    99+
    2022-10-19
  • C++模板重载的示例分析
    本篇文章为大家展示了C++模板重载的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.重载模板函数模板可以使得同一个函数对不同类型使用,非常地方便。但有的时候类型不同,只是通过模板是没办法解...
    99+
    2023-06-22
  • HTML中盒模型的示例分析
    小编给大家分享一下HTML中盒模型的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!盒模型规定了元素框处理元素内容width与height值、内边距padding、边框border 和 外边距margin 的数值大小...
    99+
    2023-06-08
  • Java原型模式的示例分析
    这篇文章主要介绍了Java原型模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.思考问题现在有一只羊 tom,姓名为: tom,年龄为:1,颜色为:白色,请编写...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作