three js
rib-pet
致力于政府信息化,聚焦CIM,智慧城市解决方案以及研发实施工作;擅长国土行业,智慧规划,智慧自然资源等行业信息化。ArcGIS(GeoScene)Supermap,Cesium, UE5 游戏引擎CG领域等核心框架。底层 osg, tinyGlTF, cgal, gdal, meshlab, 微软simplegon等。
展开
-
implement ScreenShot feature via three.js
this.renderer = new WebGLRenderer({ antialias: true, logarithmicDepthBuffer: true, precision: 'lowp', preserveDrawingBuffer: true, autoClear: true }) createScreenshot = () => { let canvasViewer = this.ren...原创 2021-07-19 08:45:19 · 97 阅读 · 0 评论 -
Three.js 性能优化总结 持续更新中
Three.js 性能优化总结数据优化篇BIM模型, 3D大模型,先导出为GLTF格式, 然后GLTF格式,调用draco压缩算法,产生后缀为.drc文件。然后参考官网去解压.drc 文件就可以提高加载速度了Draco 加载例子:https://storage.googleapis.com/demos.webmproject.org/draco/draco_loader_throw.htmlGithub 例子https://github.com/google/draco...原创 2020-07-17 11:01:30 · 1545 阅读 · 0 评论 -
Three js world cooridinate to screen postion
function toScreenPosition(obj, camera){ var vector = new THREE.Vector3(); var widthHalf = 0.5*renderer.context.canvas.width; var heightHalf = 0.5*renderer.context.canvas.height; obj.updateMatrixWorld(); vector.setFromMatrixPosition(.原创 2020-08-05 18:43:39 · 195 阅读 · 0 评论 -
Three Js 疑难问题 之 防止选择的3D Object,视角一直变化的问题
在3D可视化视图中,选择3D对象,查看3D对象是很常见的功能。同时,双击查3D对象,让其高亮也是很常见的功能。但是在这个过程,如果不断选择同一3D 对象,摄像机跟3D对象的视角一直发生变化。如此,这样的摄像机的效果就很差。下面解决3D 视角在双击情况下,不去变化视角的方案:selectObject = objId => { this._clearSelection() this._setSelectMaterial(objId) if (this.systemO原创 2020-08-13 19:38:54 · 683 阅读 · 0 评论 -
Three Js 疑难问题:解决点到线段最短距离的问题
求解点到线段最短距离的问题的方案如下: /* x pt x | | x | | x | | x |原创 2020-08-13 19:45:56 · 941 阅读 · 0 评论 -
ThreeJS 控制相机上下,左右,旋转
import { Vector3 } from "three";class RoamUtil { constructor(camera, viewcontrols, domElement) { this.viewcontrols = viewcontrols; this.camera = camera; this.domElement = domElement !== undefined ? domElement : document; this.movementS.原创 2020-09-05 15:16:20 · 8444 阅读 · 5 评论