我不知道的threejs(6)-开发中的容易被忽略的
在threejs Editor中调好一些样式属性后, 可以直接选择导出具体的格式,或者导出成json【json 一般体积大很多,比glb】(场景,通过objectLoader 加载json!!!)
自发光属性和自发光贴图:
.emissive
.emissiveMap
【有时候模型导出后,使用threejs展示的时候,现实的效果会和在3d编辑器中效果有差异, 具体到,就比如手机模型,编辑器里的效果是屏幕很亮,而且是贴图颜色的亮, 但是使用threejs 加载屏幕会暗很多,仅仅调节自发光强度,屏幕是发白的亮,而不是贴图的那种颜色的亮度,这时候就可以加载这张自发光贴图即可 】
设置一些金属效果,毛绒反光效果,等都是通过
一些室内的模型,比如vr 看房, 限制控制器位移,旋转角度避免穿帮
控制思路:
1,首先将摄像机定位在一个合适的角度(集合 axesHelper xyz坐标轴辅助器,看调节哪些个方向)
2.控制器 controls.target.set(设定在和相机lookat 的同一位置)
3. 一般禁用 鼠标右键移动模型 controls.enablePan = false
4.设置缩放的最大最小距离(指的是离这个controls.target的距离)controls.minDistance/maxDistance
5.设置垂直Polar/水平Azimuth的旋转角度, 一般都需要 controls.minPolarAngle/maxPolarAngle[minAzimuthangle/maxAzimuth]
纹理:
1.重复 texture.wrapS(水平)/wrapT(竖直) 方向上重复 + texture.repeat.set(4, 4) [表示x,y轴都重复四次]
2.偏移: texture.offset.set(x, y )
3旋转:texture.rotation (默认 center为 0 0) 可以通过 texture.center.set() 修改旋转中心点
4. 纹理翻转flipY和 预乘alpha premultiplyAlpha (存在alpha 的话)(最常见的效果就是贴图会出现描边效果)
一些优化项
动态【Hdr格式|EXR格式|Tif|png】全景背景图色调曝光度的自适应: 主要是用于处理如果是很亮的场景, 不注意曝光度太高导致晃眼,看不清, 太暗的也不会乌漆嘛黑
渲染器设置【
render.toneMapping = 设置曝光模式
render.toneMappingExposure = 1 设置曝光度 【可以模拟关灯和 开灯,天亮了等场景】
】
纹理的各项异性过滤(Anisotropic filtering)贴图当中解决角度失真问题的技术,通常在地面、墙面或其他倾斜的表面上观察到这种现象。
当视角接近平行于纹理表面时,例如查看地平线上的地板纹理,由于取样密度的不均匀,导致远离观察者的纹理区域显得模糊。各向异性过滤通过沿着轴取样更多的纹理像素以解决这个问题,使纹理在不同的观察角度下看起来更清晰。
texture.anisotropy = 1~16 区间 默认为1
压缩图片纹理 :可以借助 mvidia 的 图片压缩工具, 支持多种格式:
Threejs 中使用KTX2/DDS/TGA \EXR\TIF/PNG纹理
1. 加载KTX2 :需要借助 ktx2Loader.js 以及工具类 basis [位置:three/axamples/jsm/lib/basis] 复制basis到public下最好
const ktx2loader = new KTX2Loader().setTranscodePath('basis').detectSupport(renderer)

(有个重要的点就是,使用nvidia贴图压缩的时候,如果压缩导出的时候,设置了 生产mipmap的话, 那么全景环境贴图可能就会失效)
2.dds

3. tga

4.EXR

5. tif

6.png

我不知道的threejs(6)-开发中的容易被忽略的的更多相关文章
- 你所不知道的html5与html中的那些事第三篇
文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作 ...
- 你所不知道的html5与html中的那些事(三)
文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作 ...
- 你所不知道的html5与html中的那些事(五)——web图像
文章简介: 现在的页面,一般都离不开图像,而怎么做才能让我们的页面中的图像加载的又快又好呢?在优化页面速度的时候还有什么事是你所不知道的呢? 下面看看今天我为大家带来了哪些关于we ...
- 你所不知道的html5与html中的那些事(四)——文本标签
文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后 ...
- 你可能不知道的BFC在实际中的应用
概述 BFC是块级格式化上下文,它的一个令人熟知的运用是双飞翼布局或者两列布局.但其实它在其它地方也有很巧妙的运用.我把研究的心得记录下来,供以后开发时参考,相信对其他人也有用. 参考资料: mdn块 ...
- Android中Context详解 ---- 你所不知道的Context
转自:http://blog.csdn.net/qinjuning/article/details/7310620Android中Context详解 ---- 你所不知道的Context 大家好, ...
- Android中Context详解 ---- 你所不知道的Context(转)
Android中Context详解 ---- 你所不知道的Context(转) 本文出处 :http://b ...
- Java并发编程(您不知道的线程池操作), 最受欢迎的 8 位 Java 大师,Java并发包中的同步队列SynchronousQueue实现原理
Java_并发编程培训 java并发程序设计教程 JUC Exchanger 一.概述 Exchanger 可以在对中对元素进行配对和交换的线程的同步点.每个线程将条目上的某个方法呈现给 exchan ...
- JavaScript中你可能不知道的九件事
今天凑巧去W3School扫了一遍JavaScript教程,发现从中看到了不少自己曾经没有注意过的细节. 我这些细节列在这里.分享给可能相同不知道的朋友: 1.使用 document.write() ...
- JavaScript中你所不知道的Object(二)--Function篇
上一篇(JavaScript中你所不知道的Object(一))说到,Object对象有大量的内部属性,而其中多数和外部属性的操作有关.最后留了个悬念,就是Boolean.Date.Number.Str ...
随机推荐
- Solon2 常用注解之 @Component 与 @ProxyComponent 的区别
在 Solon 提倡"克制"的原则下,托管组件分为: 普通组件: 主要由内核提供的:@Configuration.@Component.@Controller.@Remoting ...
- c/c++零基础坐牢第三天
c/c++从入门到入土(3) 开始时间2023-04-17 19:07:20 结束时间2023-04-17 20:53:40 前言:经过三天的算法训练,大家肯定对后面的编程知识产生浓厚的兴趣,有了前两 ...
- ROS动态调试PID参数
ROS动态调试PID参数 连接小车 注意:必须在同一区域网 ssh clbrobort@clbrobort 激活树莓派主板 roslaunch clbrobot bringup.launch 打开PI ...
- python:冒泡排序(Bubble Sort)超详细教程!
关于排序,真的非常的重要.数据可以从小到大排序,也可以从大到小排序.这样对于一个有序的数据,我们处理起来就很方便,这对于我们的工作帮助是很大的. 那么你拿到一组无序的数据,你将要如何去处理它呢? 冒泡 ...
- YOLO3论文中文版
文章目录 YOLO3论文中文版 摘要 1.引言 2. 解决方案 2.1 边界框预测 2.2 类预测 2.3 多尺度预测 2.4 特征提取器 2.5 训练 3.我们的做法 4. 失败的尝试 5.这一切意 ...
- 刺激!ChatGPT给我虚构了一本书?
ChatGPT很强大,可以帮我们处理很多问题,但这些问题的答案的正确性您是否有考证过呢? 昨晚,DD就收到了一个有趣的反馈: 提问:有什么关于数据权限设计的资料推荐吗? ChatGPT居然介绍了一本根 ...
- MASA MinimalAPI源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口
源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口 1.ServiceBase 1.AutoMapRoute 源码如下: AutoMapRoute自动创建map路由,MinimalA ...
- ai问答:vue3+pinia+WebSocket 封装断线重连(实战)
把socket实例 挂载到全局 为方便梳理,请忽略typescript # main.ts import {createApp} from 'vue' import App from './App.v ...
- 几种常见的Python数据结构
摘要:本文主要为大家讲解在Python开发中常见的几种数据结构. 本文分享自华为云社区<Python的常见数据结构>,作者: timerring . 数据结构和序列 元组 元组是一个固定长 ...
- 大家都在用-神奇的Markdown格式
概述 Markdown 是一种轻量级标记语言,它可以使我们专注于写作内容,而不用过多关注排版,很多博主.作家等都用它来撰写文章~ 本文将给各位小伙伴介绍 Markdown 语法的使用,本篇文章索奇就是 ...