首页 > 其他分享 >ThreeJs基础

ThreeJs基础

时间:2024-09-03 16:17:25浏览次数:10  
标签:ThreeJs const 渲染 创建 基础 THREE 网格 相机

基本结构

  • 场景
  • 相机
  • 渲染

场景用来放入各种网格模型。每个网格模型为独立个体,又几何体和材质组成。

投影相机如同人眼,用来观察网格模型。

最终利用渲染对象对相机和场景进行渲染,将3D模型渲染在页面上。

 

创建几何体

THREE.BoxGeometry创建立方体

const geometry = new THREE.BoxGeometry(2, 2, 2)创建了一个长宽高为2的立方体  

创建材质

THREE.MeshBasicMaterial 创建基础网格材质

const material = new THREE.MeshBasicMaterial({color: 0xff0000}); 创建了红色的基础网格材质

 

创建网格模型

THREE.Mesh网格模型表示每个具体是事物,由几何体和材质组成

const mesh = new THREE.Mesh(geometry, material)创建长宽高为2,材质为红色基础网格的立方体网格模型

 

创建场景

THREE.Scene 建立用来渲染3D模型的场景

const secen = new THREE.Scene(); scene.add(mesh) 创建场景后,将网格模型放入这个场景中

 

创建投影相机

THREE.OrthographicCamera 正投影相机,观察到的物体尺寸保持不变,不会有近大远小的效果

const camera = new THREE.OrthographicCamera( left,right,top,bottom,near,far)左边界 右边界 上边界 下边界 到相机最近端距离 到相机最远端距离 

THREE.PerspectiveCamera 透视投影相机,如同人眼,有近大远小的效果

const camera = new THREE.PerspectiveCamera( fov, aspect, near, far )相机视觉角度 渲染结果输出区域的横向长度和纵向长度的比值 到相机最近端距离 到相机最远端距离 

 

创建渲染

THREE.WebGLRenderer

const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); renderer.render(scene, camera)创建渲染对象后,需要设定渲染画布大小,即为3D模型最终被渲染出来的区域大小。最终进行模型渲染,传入场景和相机

标签:ThreeJs,const,渲染,创建,基础,THREE,网格,相机
From: https://www.cnblogs.com/karle/p/18394757

相关文章

  • websocket基础 以及 搭建在线聊天室
    一,什么是websocketWebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议二,websocket的原理websocket约定了一个通信的规范,通过一......
  • 若楠带你初识OpenCV(1)-- 视频、图片基础处理,颜色获取
    文章目录OpenCV一、核心功能二、初识OpenCV1.安装OpenCV2.读取图片3.读取灰度图4.图片保存5.视频文件读取6.区域截取7.提取RGB通道颜色8.合并颜色通道总结OpenCVOpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习库,它主要用于实......
  • 【Python基础】学习Python就必须要知道的Matplotlib,一篇文章带你全面了解Matplotlib
    Matplotlib是一款广泛使用的Python数据可视化库,它提供了丰富的绘图工具和功能,能够创建各种类型的图表,包括折线图、散点图、柱状图、饼图、直方图、箱型图、热图等。一、概述定义:Matplotlib是Python的一个绘图库,由JohnD.Hunter在2002年开始编写,并于2003年发布了第一个版本。......
  • 【Python基础】一篇文章带你了解Python。对Python的认知更加详细!!!
    Python是一种高级的、动态类型的编程语言,自1989年由吉多·范罗苏姆(GuidovanRossum)首次发布以来,已经成为科技行业中广泛使用的编程语言之一。一、Python的基本特点易于学习:Python的语法清晰简洁,易于阅读和编写,是初学者的理想选择。跨平台:Python可以在多种操作系统上运行,包括......
  • 51. redis基础命令使用手册
    redis基础命令使用手册安装常用命令启动客户端示例Redis使用认证密码登录修改配置文件重启Redis登录验证在命令行客户端配置密码(redis重启前有效)在Redis集群中使用认证密码数据库选择默认有16个数据库选择数据库查看当前数据库数据结构stringslists集合有序集合哈希友情链接安装m......
  • Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • 墨刀基础篇(一) :1.墨刀简介与Axure比较
    一:简介墨刀是面向个人和企业的云端(使用墨刀必须要联网和登录)原型设计与协同的国产原型产品工具,其最大特点就是简单、高效、快速:支持多场景:App、小程序、Web网站、Web后台、H5落地页、可视化大屏等。支持移动端、PC端、平板端、可视化大屏、智能电视、HMI、手表、幻灯片等。支持AI绘......
  • 图像基础操作 | 03
    code:importnumpyasnpfrom matplotlib import pyplot as plt#获取和修改像素值img=np.zeros((256,256,3),np.uint8)#创建一个全黑的256*256的图像,而且如果是要创建图像的话,一定要指定类型为np.unit8plt.imshow(img[:,:,::-1])#显示所有的行列plt.show()#......
  • 第1天-行业介绍和计算机基础
    一、简单总结计算机发展相关历史,详细总结服务器硬件和计算机分类相关知识。第一代计算机(1946-1957)电子管时代第二代计算机(1958-1964)晶体管时代第三代计算机(1965-1970)集成电路时代第四代计算机(1971以后)大规模集成电路时代服务器硬件:内存、cpu、硬盘、raid卡、电......
  • c++入门基础
    欢迎来到c++入门基础的学习目录1、第一个c++程序2、命名空间3、c++的输入与输出4、缺省参数5、函数重载6、详解引用(引用属于重点知识)7、指针与引用的差别8、内联函数9、nullptr在学习c++之前我们要知道c++是什么—c++是c语言的扩展,主要在c语言之上添加了封装、继......