首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一文搞懂如何在Three.js创建阴影效果 |《Three.js零基础直通14》

    three.js的官方文档中有一个平行光和聚光灯阴影的示例: https://threejs.org/examples/webgl_shadowmap_viewer.html 准备工作 在场景中创建一个球体...,一个平面,再创建一个平行光和一个环境光。...这是由于在Three.js中点光源的阴影贴图要依赖6个方向上的相机来实现-_-!。 正因为点光源会在每个方向上发光,所以Three.js必须通过6个方向的渲染才能创建出多维数据集阴影贴图。...() const bakedShadow = textureLoader.load('/textures/bakedShadow.jpg') 最后,我们使用MeshBasicMaterial来创建一个基本材质的平面即可...const simpleShadow = textureLoader.load('/textures/simpleShadow.jpg') 加载好贴图后,我们可以通过使用一个平面创建阴影,平面创建出来时默认是面向

    7K10

    Three.js教程(1):初识three.js

    ---- 为什么要使用three.js 要回答为什么要使用three.js?首先我们想想什么是three.js?...而three.js直接支持前3种渲染方式,可以看出three.js的强大。 大多情况下如果是为了展示3D的效果,那么直接用图片就可以了,如果要动起来的话,视频往往可以胜任。...现在你可以忘掉上面的内容,因为three.js封装的特别好,根本看不到任何WebGL的影子,你再也不需要去了解什么着色器,更不用写GLSL ES,我们先来看一个更高级且更简单的three.js的例子。...初识three.js three.js可以使用模块化引入,当然也可以直接用script标签来引入。...我们来分析一下官方例子的代码,首先创建了一个相机(THREE.PerspectiveCamera),它描述了眼睛看的方向;然后创建了一个场景(THREE.Scene);再之后把小物块(THREE.Mesh

    23.2K73

    ThreeJS实现船行效果

    相关库 项目里用到的相关库, 基本都在ThreeJS项目文件夹里https://github.com/mrdoob/three.js/tree/dev/examples/js three.js 核心库...如何显示2D平面? 2D平面展示有两种, 一种是这个项目里的鼠标触碰直升机的提示牌, 时刻与摄像头在同一角度的2D平面; 另一种是只在一个方向上可见的2D平面 ? 多角度可见的2D平面 ?...固定角度可见的2D平面 解决方法 首先是第一种, 多角度的2D平面....我们需要用到CSS2DRenderer对其进行渲染, 即创建一个DOM, 将其赋给CSS2DRenderer, 下面代码没有设置坐标, 我是放在鼠标移动事件里设置的 var planeInfo =...原理是, 创建一个矩形Mesh, 然后创建一个canvas内容, 作为其贴图. var tipsGeo2 = new THREE.PlaneBufferGeometry(3, 1, 1, 1) var

    4.8K32

    Three.js 这样写就有阴影效果啦

    想要在 Three.js 中实现阴影效果,只需记住接下来要讲的几个点即可。...本文要实现的效果 本文适合 Three.js 入门级的工友阅读~ 如果你还不了解 Three.js ,可以先看看 《Three.js 起飞》 。 本文使用 Three 的版本是 137 。...在 Three.js 中要产生阴影效果其实和现实世界的原理差不多。 但考虑到性能原因,Three.js 默认关闭了阴影效果,需要手动开启阴影效果: 渲染器开启阴影效果。...用 PlaneGeometry 生成一个平面,并设置该平面的 receiveShadow 属性为 true 就能接受别的物体投射过来的阴影。 立方体 本例的物体元素。...第3步:创建地面 在本例中地面是用来接受物体投影的载体。 创建地面我使用了 PlaneGeometry 平面,该方法只需传入宽和高即可。

    2.6K10

    比特平面编码

    ) plt.subplot(122),plt.imshow(res_img, plt.cm.gray),plt.title('解压后'),plt.axis('off') plt.show() 第 0 平面...) 第 2 平面,原图大小:25.83KB 压缩后大小:33.71KB 压缩率-30.51%(即比原图减少了多少空间) 第 3 平面,原图大小:25.83KB 压缩后大小:51.68KB 压缩率...-100.06%(即比原图减少了多少空间) 第 4 平面,原图大小:25.83KB 压缩后大小:73.05KB 压缩率-182.82%(即比原图减少了多少空间) 第 5 平面,原图大小:25.83KB...压缩后大小:89.63KB 压缩率-246.99%(即比原图减少了多少空间) 第 6 平面,原图大小:25.83KB 压缩后大小:96.95KB 压缩率-275.33%(即比原图减少了多少空间...压缩率10.25%(即比原图减少了多少空间) 算法:比特平面编码是一种通过单独地处理图像的位平面来减少像素间冗余的有效技术。

    62620

    Three.js入门

    Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精采的演示。...Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。...Three.js的核心五步就是: 1.设置three.js渲染器 2.设置摄像机camera 3.设置场景scene 4.设置光源light 5.设置物体object 1.设置three.js渲染器 三维空间里的物体映射到二维平面的过程被称为三维渲染...//设置Three.js渲染器 var renderer; function initThree(){ width = document.getElementById...在Three.js也能够指定透视投影和正投影两种方式的相机。 本文按照以下的步骤设置透视投影方式。

    7.8K92

    造个海洋球池来学习物理引擎【Three.js系列】

    因此先带大家来实现一个小球,而恰恰在 Three.js 中定义一个小球非常的简单。因为 Three.js 给我们提供非常丰富几何形状 API ,大概有十几种吧。...Cannon.js import * as CANNON from 'https://cdn.jsdelivr.net/npm/cannon-es@0.19.0/dist/cannon-es.js'; 首先先创建一个物理的世界...,并且设置重力系数 9.8 const world = new CANNON.World(); world.gravity.set(0, -9.82, 0); 在物理世界中创建一个和我们 Three.js...创建 Three.js 中的地面, 这里主要用到的是 PlaneGeometry 它有4个参数 PlaneGeometry(width : Float, height : Float, widthSegments...: Integer, heightSegments : Integer) 和之前类似我们只需要关注前 2 个参数,就是平面的宽和高,由于平面默认是 x-y 轴的平面,由于Three.js 默认用的是右手坐标系

    2K10

    算力共享系统中数据平面和控制平面

    ​目录算力共享系统中数据平面和控制平面数据平面控制平面算力共享系统举例控制流程和业务流程,在算力共享系统中举例说明控制流程业务流程​算力共享系统中数据平面和控制平面在算力共享系统中,数据平面和控制平面是两个关键组成部分...以下是对这两个平面的详细说明,并通过一个算力共享系统的例子来进一步阐述。数据平面定义与功能: 数据平面是算力共享系统中负责实际数据处理和转发的部分。...数据传输:在任务执行过程中,数据平面负责数据的读取、处理和传输,确保数据在系统中的流动顺畅无阻。结果反馈:任务完成后,数据平面将处理结果返回给用户,满足用户的计算需求。...例如,当用户提交一个深度学习训练任务时,数据平面会将其分发到GPU集群上进行训练,并实时传输训练数据和结果。控制平面:负责管理和调度平台上的计算资源。...通过数据平面和控制平面的协同工作,算力共享系统能够高效地利用计算资源,为用户提供高质量的算力服务。

    31131

    我是如何用 Three.js 在三维世界建房子的(详细教程)

    还剩下一个草地,这个也是一个平面,用 PlaneGeometry(平面几何体)画,只不过就是长宽比较大,看不到尽头而已。 看起来还有雾?...我们创建平面几何体(PlaneGeometry),长和宽制定一个很大的值,比如 10000,然后加载草地的图片作为纹理(Texture),构成材质。之后就可以创建出草地了。...然后草地的平面要旋转一下。...接下来是创建房子,房子由地板、两侧的墙、前面的墙、后面的墙、门框窗框、房顶、床构成,要分别创建每一部分,我们把它们放到单独的 Group(分组)里。...position.x = -50; roof2.position.z = 155; createWindow(); createDoor(); createBed(); } 创建地板也是平面几何体

    5.1K61

    Three.js』起飞!

    是一篇面向小白的笔记~ Three.js 官网 下载 Three.js Three.js GitHub地址 通过上面的地址,可以下载 Three.js 这是下载下来解压后的文件 创建项目 我习惯使用...下载下来的包解压后,找到 src/Three.js ,并将其复制到 Three-study-demo/js 里 项目到此就算创建好了。...起步 了解上面所说的 基础概念 后,我们根据 官方文档 上面的案例创建出第一个场景。 本文的第一个场景会比 Three.js 官网上的更加简单,步骤如下: 创建 HTML 容器,用来绑定画布的。...创建一个场景,用来放物体。 创建一个相机,代表我们的眼睛去看东西。 创建一个物体,不然没东西看了。 创建一个渲染器,并把场景和相机放到渲染器里渲染,最后将渲染器添加到页面中。 让物体动起来。...你就算是入门了 Three.js 。 代码仓库 ⭐Three.js 起步

    10.8K40
    领券