首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【愚公系列】2023年08月 Three.js专题-纹理

    一、纹理 1.简介 Three.js中的纹理贴图方式有以下几种: 基础纹理:使用纹理图像创建基本纹理,可以使用图片或视频等多种类型的纹理贴图。...环境贴图:创建环境贴图可以添加反射和折射效果,可以使用天空盒子或立方体纹理等。 光照贴图:使用光照贴图可以模拟光照效果,例如通过凹凸贴图、法线贴图、位移贴图等来模拟凹陷和凸起的效果。...2.属性 在Three.js中,贴图是指在材质表面上贴附一张图片纹理,通过纹理映射的方式来呈现出材质表面的不同效果和细节。...下面是Three.js中常用的贴图属性: map:基础贴图,用于显示模型的颜色、灰度值和透明度。默认值是null。 specularMap:高光贴图,用于显示材质的高光颜色和强度。...emissiveMap:自发光贴图,用于显示模型的自发光效果。默认值是null。 envMap:环境贴图,用于模拟材质被周围环境反射的效果。默认值是null。

    65610

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

    阴影优化 渲染尺寸 要知道,Three.js里阴影的本质其实是通过计算实时生成阴影贴图。...Near and far Three.js使用相机来帮助计算阴影贴图。这些相机与我们前面学到的相机具有相同的属性。比如我们必须定义相机的近视距离和远视距离。...因为我们使用的是平行光,所以Three.js在为它渲染阴影贴图时使用的是正交相机。如果您还记得相机课程,我们可以通过顶部,右侧,底部和左侧属性控制相机在每一侧可以看到的距离。...阴影贴图算法 three.js中有几种内置的阴影贴图算法供我们选择: THREE.BasicShadowMap 性能很好,但质量很差 THREE.PCFShadowMap 性能较差,但边缘更光滑 THREE.PCFSoftShadowMap...这是由于在Three.js中点光源的阴影贴图要依赖6个方向上的相机来实现-_-!。 正因为点光源会在每个方向上发光,所以Three.js必须通过6个方向的渲染才能创建出多维数据集阴影贴图。

    8.8K10

    法线贴图

    image.png 可行的方法就是将这个平面用一个贴图覆盖,用贴图的纹理实现一定的凹凸效果。但是这种方法实现的效果并不是很好,因为如果视角一变化,看起来就会像一张简单的画有图案的平面了。...后来,聪明的游戏开发者想出了一种方法,就是在贴图过程中对贴图进行一定的处理,从而保证了在视角变换以后仍然保证有较为明显的凹凸效果,也就是法线贴图。...image.png 准确的说,法线贴图是Bump Mapping(凹凸贴图)的其中一种。第一个Bump Mapping由Blinn在1978年提出,目的是以低代价给予计算机几何体以更丰富的表面信息。...研究人员对法线贴图进一步改进,出现了Parallax Mapping(视差贴图), Relief Mapping等技术,实现了更逼真的效果。 人之所以能够对景物看出立体感的主要原因是因为人有两只眼睛。...一条法线是一个三维向量,一个三维向量由x, y, z等3个分量组成,在法线贴图中,把(x, y, z)当作RGB3个颜色的值存储。 录这些法线的载体就被我们称为法线贴图。 image.png

    2K10

    8岁儿子做出3D太阳系,我这个当爹的被教育了

    比如点太阳,会弹出来这样的信息面板 ↓我随口挑两句给大伙看看:"它靠核聚变把氢变成氦来发光发热,每秒要烧掉约 600 万吨氢。""水星上的'一天'比'一年'还长。"...数据是真实的行星数据用的是真实天体参数:直径、距日距离、公转周期、自转周期、卫星数量……甚至不同行星的真实纹理贴图都有(水手峡谷、木星大红斑、土星环,都是 NASA 公开的真实图片)。...里的进阶用法;程序化纹理兜底:如果真实贴图加载失败(断网、文件丢失),会用 Canvas 画一张"看起来差不多"的纹理,保证不穿帮;三种模式切换:太阳系 ↔ 单个行星卫星系 ↔ 银河系总览,每种模式相机位置...问 AI "Three.js 怎么画一个球?"行星不转怎么办? 问 AI "requestAnimationFrame 怎么写循环动画?"点行星没反应怎么办?...问 AI "Three.js 怎么检测点击的是哪个物体?"贴图加载不出来怎么办? 问 AI "Canvas 怎么画一张火星表面?"

    21521

    3D to H5工作流应用手册

    Part 2 实践篇:基于three.js的实现性,提供场景、材质贴图的制作思路、以及gltf工作流,并动态讨论项目常常遇到的还原问题。...在Unity中,基于真实感渲染的贴图效果与NPR水墨风格化着色效果对比 [ F11, ©️邓佳迪] 三、Three.js 材质着色对比 说完真实感与非真实感渲染差异后,我们再来看看Three.js中的材质...考虑到H5项目的实际应用场景,下表罗列了Three.js原生材质的对比,包含了材质特性优势、贴图差异及适用场景,大家可以基于项目需求快速选择并混合使用: three.js材质对比表 四、色彩描述与管理...在three.js中色彩管理的工作流会根据导入模型Asset的差异而有所不同,如果贴图与模型是分别导入场景,则建议可尝试以下流程: 1、输入贴图数据 sRGB to Linear: 含色彩的贴图(基础材质...、环境、发光)设编码为sRGB(texture.encoding = sRGBEncoding),或将渲染设置renderer.gammaInput设为True,可将原为sRGB的贴图转换为Linear

    3.7K42

    Three.js 与 Babylon.js 深度对比:从 API 差异到 DATASPACE3D 多引擎实践

    2.3标准PBR材质两端都支持「颜色+漫反射贴图+法线+环境+透明度」,但属性名不同:能力Three.js(MeshStandardMaterial)Babylon.js(StandardMaterial...)基础色colordiffuseColor自发光emissiveemissiveColor漫反射贴图mapdiffuseTexture法线贴图normalMapbumpTexture环境反射envMapreflectionTexture...透明贴图alphaMapopacityTexture透明度opacityalpha双面side:DoubleSidebackFaceCulling:false平台用统一的StandardMaterialConfig...albedo.png',uWrap:'REPEAT'},normalTexture:{src:'/textures/normal.png'},opacity:0.9,scene:davScene.scene,});贴图...配置一次,两侧可复用逻辑)引擎相关(适配层实现)项目场景对象树✅—自定义UI配置(uiGroups)✅—蓝图编排✅—关键帧动画时间轴✅插值/播放适配素材广场/CDN资源✅加载器脚本标准材质参数✅JSON贴图

    32810

    canvas多重阴影发光效果

    canvas多重阴影发光效果 前言 在一个项目中,客户提了一个发光的效果,效果图如下: image.png 阴影 有的人可能会说,这个用阴影其实就可以实现。...但是从图中可以看出,是一个比较强烈的发光效果。实际的应用过程中我们会发现用简单阴影参数实现的效果很难达到这样强烈的发光效果。...也就是实现这种比较强烈的发光效果。嗯,答案就是使用多重阴影效果。...下面是用多重阴影实现的文字霓虹灯效果,同样可以看出有较好的发光效果。 ? 总结 可以看出要达到强烈的发光效果, 需要使用多重阴影功能。当然使用多种阴影也不是没有限制的, 因为阴影本身有很大的性能损耗。

    1.9K30

    WebGL开发3D模型的流程

    UV 展开: 将 3D 模型的表面展开成 2D 平面,用于贴图的制作。贴图制作: 为模型添加纹理和材质,使其更加逼真。常用的贴图类型包括:颜色贴图 (Diffuse Map): 决定模型表面的颜色。...法线贴图 (Normal Map): 模拟模型表面的凹凸细节。高光贴图 (Specular Map): 控制模型表面的光泽度。...粗糙度贴图 (Roughness Map) 或光泽度贴图 (Glossiness Map): 控制模型表面的粗糙程度。...WebGL 库 (可选): 可以选择使用 WebGL 库来简化开发,例如 Three.js、Babylon.js 等。Three.js 是最常用的 WebGL 库,提供了丰富的功能和易用的 API。...模型加载和渲染 (以 Three.js 为例):引入 Three.js: 在 HTML 文件中引入 Three.js 库。

    1.6K11

    【愚公系列】2023年08月 Three.js专题-光源

    根据发光方式不同,光源可以分为自发光源和非自发光源。自发光源是指能够自行发出光线的物体,如太阳等;而非自发光源是指需要外部能量刺激才能发出光线的物体,如灯泡、荧光棒等。...一、光源 1.光源 在Three.js中,提供了不同类型的光源,每种光源的不同之处在于其照射场景的方式和效果。...面光源 (THREE.AreaLight):散发光线的平面,不是一个点。 镜面眩光(THREE.LensFlare): 不是光源,但是可以为光源添加眩光效果。...1.1 点光源 在Three.js中,THREE.PointLight表示一个点光源,它向所有方向发出光线。...shadowMapWidth:阴影贴图的宽度,默认为512。 shadowMapHeight:阴影贴图的高度,默认为512。 shadowBias:阴影偏移量,默认为0。

    48900

    Three.js - 走进3D的奇妙世界

    一、Three.js相关概念 1.1 Three.JS Three.JS是基于WebGL的Javascript开源框架,简言之,就是能够实现3D效果的JS库。...七、纹理 在生活中纯色的物体还是比较少的,更多的是有凹凸不平的纹路或图案的物体,要用Three.JS实现这些物体的效果,就需要使用到纹理贴图。...7.1 普通纹理贴图 ? 在这个示例中使用上图左侧的地球纹理,在球形几何体上进行贴图就能制作出一个地球。...材质默认是在几何体的正面进行贴图的,如果想要在反面贴图,需要在创建材质的时候设置side参数的值为THREE.BackSide,代码如下: /* 创建反面贴图的球形 */ // 球体 var geom ...环境贴图是将当前环境作为纹理进行贴图,能够模拟镜面的反光效果。在进行环境贴图时需要使用立方相机在当前场景中进行拍摄,从而获得当前环境的纹理。

    18.3K51
    领券