草庐IT

threejs-miniprogram

全部标签

threejs实现3d全景看房

背景随着电商时代的发展,网上购物的方式已经成为主流,良好的购物体验已经显得极为重要。展示给用户的视觉效果便不能仅仅局限于2D视觉效果,全方位的3D立体展示效果能让用户对商品进行360度无死角的认识了解。丰富多彩的三维世界大门早已敞开,一起进去看看吧!认识threejsthree.js就是使用javascript来写的,基于原生WebGL封装运行的三维引擎,运行在浏览器上的3D程序。WebGL是在浏览器中实现三维效果的一套规范。与我们而言,three.js相当于简化了WebGL的操作,让我们在不懂计算机图形学,只理解three.js的一些基本概念的条件下也能够轻松进行web3D开发。在所有Web

threejs实现绿幕视频透明播放

项目所需,开发全景平台时需要支持绿幕视频播放。先看疗效:原视频加入场景看效果核心处理方式是写shader材质,在fragmentShader中做透明度的计算。透明度依赖背景色的选择、容错度的处理。可以参考https://cloud.tencent.com/developer/article/1356177当然,实现透明视频播放的方式有两种,一种用灰度,两分屏的方式;另一种就是绿幕视频,用纯色当背景处理透明度。第一种:灰度透明视频这种处理原理就是用右侧的灰度值计算透明度即可。两侧的是动态同步播放的。shader编写gl_FragColor=vec4(texture2D(pointTexture,

threejs实现绿幕视频透明播放

项目所需,开发全景平台时需要支持绿幕视频播放。先看疗效:原视频加入场景看效果核心处理方式是写shader材质,在fragmentShader中做透明度的计算。透明度依赖背景色的选择、容错度的处理。可以参考https://cloud.tencent.com/developer/article/1356177当然,实现透明视频播放的方式有两种,一种用灰度,两分屏的方式;另一种就是绿幕视频,用纯色当背景处理透明度。第一种:灰度透明视频这种处理原理就是用右侧的灰度值计算透明度即可。两侧的是动态同步播放的。shader编写gl_FragColor=vec4(texture2D(pointTexture,

【threejs加载器】加载gltf模型及压缩模型

加载obj过程请参考如下两篇【threejs基础:使用OBJLoader】加载obj模型【threejs基础:使用MTLLoader】加载材质OBj模型1加载gltf模型效果如下:第一步:引入GLTFLoaderimport{GLTFLoader}from'three/examples/jsm/loaders/GLTFLoader'第二步:加载模型加载模型部分代码很简单;创建加载器、设置gltf文件路径、开始加载文件、添加到scene;代码如下constloader=newGLTFLoader()loader.setPath('./statics/models/gltf/');loader.l

javascript - ThreeJS 更新相机位置,使平面世界位置与 DIV 屏幕位置匹配

目标我想更新相机位置,以便平面世界位置匹配DIV屏幕位置。最初的想法我需要计算camera.position.z-使飞机的脸与DIV的大小相匹配-即使在调整Canvas大小时也是如此。this.computeZ=function(meshHandle,cameraHandle,faceHeight,targetHeight){varface=meshHandle.geometry.vertices[2]varvFOV=cameraHandle.fov*Math.PI/180;varvHeightPartial=2*Math.tan(vFOV/2);varp1=faceHeight*wi

javascript - 如何在 ThreeJS 中将网格旋转 90 度?

我有一个网格,我想在ThreeJS中旋转90度。这是当前情况的图像:我希望所选网格与大网格平行旋转。我试过像这样旋转矩阵:matrix=newTHREE.Matrix4().makeRotationX(1.57)但是网格进入奇怪的旋转。有没有更简单的方法将它旋转90度? 最佳答案 threejs旋转使用弧度(你可能知道)你可以用这个mesh.rotation.x=Math.PI/2;或mesh.rotation.set(newTHREE.Vector3(0,0,Math.PI/2));

javascript - 释放 ThreeJS 应用程序的内存

我目前在ThreeJS应用程序中释放内存时遇到问题。我知道已经有几个关于这个问题的问题:freeingmemoryinthree.jsFreeingmemorywiththreejsThree.jsCollada-What'stheproperwaytodispose()andreleasememory(garbagecollection)?我确实使用我制作的以下Typescript函数处理我的对象:functiondispose(object3D:THREE.Object3D):void{//Disposechildrenfirstfor(letchildIndex=0;childI

使用threejs简单Web3D效果

目录1.threejs介绍2.thresjs的使用3.组件介绍4.threejs的动画5.参考资料前几天在网上看到一个threejs的实现的web3d的动画,很炫酷,所以特地去了解了一下threejs。我们首先看下官方使用threejs实现的效果: 1.threejs介绍threejs是基于原生WebGL API和着色器封装得到的3D引擎,也就是一个.js库。直接通过原生WebGL直接编写程序,会比较麻烦,所以threejs就对WebGL做了一层封装,这样方便web开端的去开发web3d的应用。所以WebGL是threejs的基础,简单的项目一般也用不到底层WebGL知识,不过学习WebGl有

【微信小程序】微信开发者工具 引用 vant-weapp时“miniprogram/node_modules/@babel/runtime/index.js: 未找到npm包入口文件” 解决办法

一、前言👁在微信小程序开发时必不可少需要引入外部组件库引,今天在用vant组件库时遇到了“找不到npm包入口文件”,怎么办?二、使用vant组件库步骤1.打开微信开发者工具终端npmi2.安装vant组件库npmi@vant/weapp-S--production3.回到小程序开发工具里面顶部导航栏->工具->构建npm然后就出现了报错,npm无法构建…出现这种情况的两种原因1.删除文件的时候没有删除干净2.执行npmi的时候自己输入了一些配置信息导致报错三、解决第一种1、先把package-lock.json,node_modules,miniprogram_npm都删干净。2、打开终端,执

【微信小程序】微信开发者工具 引用 vant-weapp时“miniprogram/node_modules/@babel/runtime/index.js: 未找到npm包入口文件” 解决办法

一、前言👁在微信小程序开发时必不可少需要引入外部组件库引,今天在用vant组件库时遇到了“找不到npm包入口文件”,怎么办?二、使用vant组件库步骤1.打开微信开发者工具终端npmi2.安装vant组件库npmi@vant/weapp-S--production3.回到小程序开发工具里面顶部导航栏->工具->构建npm然后就出现了报错,npm无法构建…出现这种情况的两种原因1.删除文件的时候没有删除干净2.执行npmi的时候自己输入了一些配置信息导致报错三、解决第一种1、先把package-lock.json,node_modules,miniprogram_npm都删干净。2、打开终端,执