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

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

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

6.3K10

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.1K73

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

10.7K40

three.js 材质

今天郭先生说一说three.js的材质。材质描述了对象objects的外观。它们的定义方式与渲染器无关, 因此,如果您决定使用不同的渲染器,不必重写材质。...这可以与网格的renderOrder属性结合使用,以创建遮挡其他对象的不可见对象。默认值为true。 .defines : Object 注入shader的自定义对象。...在绘制2D叠加时,将多个事物分层在一起而不创建z-index时,禁用深度写入会很有用。 .flatShading : Boolean 定义材质是否使用平面着色进行渲染。默认值为false。...将材质转换为three.js JSON格式。 2. three.js材质种类 名称 介绍 LineBasicMaterial 一种用于绘制线框样式几何体的材质。...我们的想法是,不是在特定照明下调整材质以使其看起来很好,而是可以创建一种材质,能够“正确”地应对所有光照场景。 ShadowMaterial 此材质可以接收阴影,但在其他方面完全透明。

9.8K50

Android实现两圆点之间来回移动加载进度

说下实现思路:圆点x轴会有个位移变化量,当位移达到圆点直径+圆点间距之和就回改变方向(改变方向就是通过变化量值不断增加和不断减少来实现),可能写的有点模糊,接下来看代码: package com.kincai.testcustomview_dotalternatelyprogress...*/ private int mLeftColor; /** * 可视为右边圆点颜色值 */ private int mRightColor; /** * 圆点半径 */ private int mDotRadius...; /** * 圆点间距 */ private int mDotSpacing; /** * 圆点位移量 */ private float mMoveDistance; /** * 圆点移动率 */ private...float mMoveRate; /** * 以刚开始左边圆点为准 向右移 */ private final int DOT_STATUS_RIGHT = 0X101; /** * 以刚开始左边圆点为准...圆点移动方向-向左移 */ private final int DOT_STATUS_LEFT = 0X102; /** * 以刚开始左边圆点为准,圆点移动方向 */ private int mDotChangeStatus

50120
领券