webGL3D模型的加载与使用

在3DMAX,MAYA等软件(这是一些三维编辑软件)中,可以制作出3D模型。这些模型可用于室内设计,三维影视,三维游戏等领域。

3D模型由顶点(vertex)组成,顶点之间连成三角形或四边形(在一个平面上),多个三角形或者四边形就能够组成复杂的立体模型.

如下图所示:

上图就是一辆汽车的3D模型(立体模型),因为是由一个个网格组成,所以,也叫其为网格模型。

最终目的是要讲解怎么将模型导入three.js中,让three.js能够显示模型。模型是由面组成,面分为三角形和四边形面。三角形和四边形面组成了网格模型。在Three.js中用THREE.Mesh来表示网格模型。THREE.Mesh可以和THREE.Line相提并论,区别是THREE.Line表示的是线条。THREE.Mesh表示面的集合。

THREE.Mesh,它的构造函数是:THREE.Mesh = function ( geometry, material )。其中第一个参数geometry:是一个THREE.Geometry类型的对象,他是一个包含顶点和顶点之间连接关系的对象。第二个参数Material:就是定义的材质。有了材质就能够让模型更好看,材质会影响光照、纹理对Mesh的作用效果。

先来看看three.js加载一个简单模型的过程。这个过程是这样的:

上图的顺序是:

1、服务器上的模型文件以文本的方式存储,除了以three.js自定义的文本方式存储之外,当然也可以以二进制的方式存储,不过这里暂时不讲。

2、浏览器下载文件到本地

3、Javascript解析模型文件,生成Mesh网格模型

4、显示在场景中。

时间: 2024-10-11 12:05:42

webGL3D模型的加载与使用的相关文章

[Pytorch]Pytorch 保存模型与加载模型(转)

转自:知乎 目录: 保存模型与加载模型 冻结一部分参数,训练另一部分参数 采用不同的学习率进行训练 1.保存模型与加载 简单的保存与加载方法: # 保存整个网络 torch.save(net, PATH) # 保存网络中的参数, 速度快,占空间少 torch.save(net.state_dict(),PATH) #-------------------------------------------------- #针对上面一般的保存方法,加载的方法分别是: model_dict=torch.

pytorch中修改后的模型如何加载预训练模型

问题描述 简单来说,比如你要加载一个vgg16模型,但是你自己需要的网络结构并不是原本的vgg16网络,可能你删掉某些层,可能你改掉某些层,这时你去加载预训练模型,就会报错,错误原因就是你的模型和原本的模型不匹配. 此时有两种解决方法: 1.重新解析参数的字典,将预训练模型的参数提取出来,然后放在自己的模型中对应的位置 2.直接用原本的vgg16网络去加载预训练模型,然后再修改网络. 具体操作待续吧...... 我个人推荐第一种方法. 原文地址:https://www.cnblogs.com/y

通过扩大IE使用内存,解决skyline在IE下模型不能加载的方法

环境:skyline TerraExploere 6.6.1,win10 专业版 64位,ie 11 情况描述:在ie下浏览三维场景,ie占用内存不断增大并且内存占用固定在一个最高范围内,三维场景中部分模型无法显示 解决方式: 1.找出ie的exe PS(postscript):如果操作系统是64位,就 要用32位的ie 2.把找到的iexplore.exe文件复制一份,复制到别的目录进行操作(最好不要在原文件.源目录上操作,我就不小心把文件弄来启动不了了) 2.打开visual studio 

OpenGL(二)加载模型

在OpenGL(一) OpenGL管线 与 可编程管线流程中,提到加载VBO.IBO的相关技术,本篇详细说一下.实际应用时,我们是不可能手写顶点和索引点.通常模型是使用3dMax或Maya制作,然后在OpenGL程序中 加载模型 .本文着重分析这些文件的格式以及 加载模型 的流程和方法. 大体流程 加载模型 的主要流程是: 读取模型文件内容 解析 vbo(vertex buffer object) 和 ibo(index buffer object) 信息.其中vbo包括顶点的位置.纹理坐标.法

cocos2d-x模型加载的重构,我眼中的面向对象

这两天在写cocos2d-x加载ogre的mesh模型的东西,完成了一半了,还差动画文件没接进来.这篇文章并不是教如何加载模型文件的,因为那种东西没什么可教的,无非就是加载文件,然后解析出自己想要的顶点.关键帧等数据,最后给coco2d-x中的MeshData赋好值.这里我想表达一些我有关代码格式.代码设计.代码重构的想法,我会分一些有关或者无关的问题,来逐一分析. 一.为什么要支持多种模型格式?cocos2d-x自己定义一种新的格式c3d.c3t这样好不好? 首先,我认为,一个成熟的游戏引擎不

tensorflow 之模型的保存与加载(一)

怎样让通过训练的神经网络模型得以复用? 本文先介绍简单的模型保存与加载的方法,后续文章再慢慢深入解读. 1 #!/usr/bin/env python3 2 #-*- coding:utf-8 -*- 3 ############################ 4 #File Name: saver.py 5 #Brief: 6 #Author: frank 7 #Mail: [email protected] 8 #Created Time:2018-06-22 22:12:52 9 ###

创建、加载高级网格和几何体

1.对象合并 使用THREE.Group对象作为组合对象,调用它的add函数附加其他几何体.如下面的代码,创建了两个几何体sphere.cube,然后调用group的add函数,把两个几何体组合在一起.代码中的redraw函数在最后调用了position.BoundingBox()函数,用来定位组合体对象的位置.在positionBoundingBox函数中调用了setFromeObject并且返回了一个THREE.Box3对象.这里先不介绍这个对象,直接看后面的代码,通过box.max和box

DOM加载顺序

解析HTML结构. 加载外部脚本和样式表文件. 解析并执行脚本代码. 构造HTML DOM模型. 加载图片等外部文件. 页面加载完毕. <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Title</title> <style type="text/css"> body { font-sie:

Webkit资源加载介绍

一.webkit资源分类 webkit中有多种资源,大致分为以下几种: HTML文本 CSS样式文本 - CachedCSSStyleSheet 字体 - CachedFont 图片 - CachedImage 只读资源 - CachedRawResource JavaScript文本 - CachedScript SVG - CachedSVGDocument 视频字幕 - CachedTextTrack XSL样式表 - CachedXSLStyleSheet 类图如下: HTML文本是网页