- 博客(61)
- 收藏
- 关注
原创 threejs更新BufferGeometry的uv点位
在使用shape生成面,或者再拉升时,如果使用贴图就会不正常显示;经过查找了解到大多数解决方案都是针对Geometry的uv更新,所以在论坛查找方法自己处理了一个方法意外解决了这个问题,但拉升成体时Z轴的更新出现了问题。。。还需要继续研究reMapUv(obj) { // geometry.computeBoundingBox(); // console.log(geometry); let temp=new THREE.Group() te
2022-03-01 15:15:23 1273 6
原创 threejs开启对数深度缓存区时、着色器深度混乱
原因:当开启对数深度缓存区、使深度的计算精确度提升,可以解决z-fight产生的深度冲突,但着色器的深度并没有更新,因此也会干扰着色器的正常深度展示,解决:在着色器的顶点着色器与片元着色器中里进行深度更新...
2022-02-23 16:40:00 1019 1
转载 threejs 关于z-fighting问题解决方案(面重叠导致的渲染闪烁)
https://zhuanlan.zhihu.com/p/151649142
2022-01-07 09:57:36 1219
原创 threejs包围盒的应用
1、可以当作场景边界的判定值2、用于相机飞行的参考值3、物体碰撞的载体4、不规则物体的体积判断5、不规则物体的中心点计算(group更好用)
2022-01-05 10:31:07 4643
原创 threejs 网格基础了解
threejs的网格gridHelper是由线绘制而成,该对象只有继承基础类的transform还有一个颜色值可以控制(目前发现的)、如果要自定义强的网格可以直接创建线编辑,如果要动态变化网格的话、目前的想法是实时创建、删除这个方法...
2022-01-05 10:22:14 486
原创 threejs 射线检测出现的问题记录---多个canvas在同一图层
在多个canvas在同一图层时,发现射线检测绑定到了其他图层了(内部库包问题,不一定是普适问题),当分开图层时,无异常产生;分析:改问题最可能出现在多三维场景同时展现,并且多场景间相互关联。也可能是内部开发人员处理不当编辑射线检测功能时没有考虑到该情况。...
2021-12-08 16:57:15 351
原创 开发中的undefined问题
开发过程中由于代码量递增;在编写的时候难免触发,对象查找不到的问题;例:const data = { a:1, b:2, c:3}console.log(data.d)这种情况会打印 undefined 出来;并不会报错当报错提示:Cannot read properties of undefined时;大概率是把data当中参数传参时,并没有传参成功;...
2021-11-24 16:14:17 161
原创 threejs在使用css3DRender时产生的bug
一旦使用三维div嵌入;就会遇到二维和三维的冲突:1、双击时嵌入的div时,再次点击无法触发三维拖拽视角的事件原因:双击时触发浏览器默认文字多选事件;此时拖拽将和浏览器默认事件冲突解决方法:a、关闭浏览器默认事件b、产生额外聚焦至三维场景当中c、触发双击时鼠标不在嵌入的div的目标上...
2021-10-26 16:16:53 846
原创 js后创建的事件、取消之前创建事件
开发中遇到一个问题:删除功能的点击触发了绘制功能的点击弄了一大堆复杂解决方案;最后发现最简单的冒泡阻止就可以了…e.stopPropagation()
2021-10-13 11:19:44 108
原创 定时器this指向未指向全局问题
1、创建临时对象明确this目标let that=thisthis._delayed = setTimeout( function () { console.log(that) }, 250);2、使用箭头函数this._delayed = setTimeout(()=> { console.log(this) }, 250);3、使用bind、call 、apply方法改变this指向指向问题一般出现在事件响应上需要使用定时器时...
2021-10-11 10:35:50 113
原创 利用BufferGeometry生成三角面
利用BufferGeometry生成三角面 this._geometry = new THREE.BufferGeometry(); var vertices = new Float32Array([ 10, 10, 10, //顶点1位置 90, 10, 10, //顶点2位置 90, 90, 10, //顶点3位置 // 10, 10, 10, //
2021-09-27 14:47:39 447
原创 点击利用shape绘制面
//点击利用shape绘制面遇到问题:shape生成二维面,所以至少一维需要进行操作;造成后果:位置、角度偏移;解决:需要二次操作其中未编辑的一维;并旋转相匹配的let points = options.points// console.log(points)let shape = new THREE.Shape();shape.moveTo(points[0][0], points[0][2]);//将初始点移动到第一个点位置shape.position=[points[0][0], po
2021-09-27 14:43:40 201
原创 这是一份针对各类材质;灯光与多场景的测试代码
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>基础测试</title> <script type="text/javascript" src="./node_modules/three/build/three.js"></script> <script type="text/javascript" sr
2021-07-16 17:46:01 97
原创 threejs制作高亮物体
首先,我们使用高亮材质时,灯光会作用于整个场景;这样产生的亮度会被场景中和;(当然大佬们可以通过自己对材质的高度灵活运用直接达到某种效果);这边提供一个思路:创建两个场景和摄像机;把高亮灯光的场景独立开;通过一个renderer渲染;达到明显的区分(满麻烦的。。。)注意:记得在renderer渲染前加上:renderer.autoClear = false;renderer.clear();...
2021-07-16 17:41:29 1036
原创 threejs模型加载进度监控
模型加载进度: const manager = new THREE.LoadingManager(); manager.onProgress = function ( item, loaded, total ) { console.log( item, loaded, total ); }; const loader = new OBJLoader( manager ); loader.load( 'models/obj/tree.obj', function
2021-07-13 14:49:23 2557
翻译 threejs标准材质的使用
标准材质://可以制作金属或者玻璃的效果(效果比其他材质更好)new THREE.MeshStandardMaterial({color:’#ffffff’,//reflectivity:0, //反射率 默认1 不适用该材质refractionRatio:0,//环境贴图折射率 默认0.98roughness: 0, //粗糙程度 0镜面 1完全扩散 默认0.5//roughnessMap:texture2,//与 粗糙程度相乘metalness: 0.5, //金属1 塑料0 默认0.
2021-07-09 12:00:01 869
翻译 远程监控虚拟机内存、线程
远程监控虚拟机内存、线程:首先安装jdk;版本不要超过8安装教程:(本地和远程机器都要安装)环境变量可以不用配置,不配的话,每次运行java命令需要切到/bin目录https://www.cnblogs.com/zhangzhixing/p/12953187.html下载安装完后进行操作:https://zhuanlan.zhihu.com/p/31573915;帮助:vim jstatd.all.policy 如没安装vim;使用vi jstatd.all.policy进入后,按 i 编辑
2021-07-02 10:54:52 98
原创 this指向问题
this的行为有时候会显得极其诡异,让人感到困惑,但只需要记住 this的值要等到代码真正执行时才能确定同时this的值具体有以下几种情况:new 调用时指的是被构造的对象call、apply调用,指向我们指定的对象对象调用,如执行obj.b(),this指向obj默认的,指向全局变量window(相当于执行window.fun())...
2021-03-26 16:40:58 55
转载 vscode代码编辑器折叠所有区域的代码快捷键
vscode代码编辑器折叠所有区域的代码快捷键查看了使用说明,快捷键如下:折叠所有区域代码的快捷键:ctrl+k, ctrl+0; 先按下ctrl和K,再按下ctrl和0; (注意这个是零,不是欧)展开所有折叠区域代码的快捷键:ctrl +k, ctrl+J; 先按下ctrl和K,再按下ctrl和J 自动格式化代码的快捷键:ctrl+k, ctrl+f; 先按下ctrl和K,再按下ctrl和f;...
2021-03-08 11:07:41 567
原创 threejs基础动态效果制作方法
一:常见平移,缩放,旋转:利用小量变化累加,形成连贯动态效果常见属性—object.position || object.scale || object.rotation… let value //位移差量 let option.opacity //透明度差量..... let b=setInterval(function(){ //每次平移量(固定时间) line.position.y+=value/20 //每次透明度减小量(固定时间)
2021-03-04 11:53:54 855 1
转载 threejs获取已创建scene的子对象
方法一:遍历for(let data in scene.children){if(scene.children.name==“cube”,scene.children.uuid==“cube”){console.log(scene.children)}}方法二:内置方法console.log(scene.getObjectByName(‘cube’),scene.getObjectByProperty(‘uuid’,“123”),scene.getObjectByProperty(‘name’
2021-03-04 11:24:35 2087 1
原创 threejs自定义引入模型进行点击获取
最近编辑点击事件时发现:threejs的 raycaster只对mesh有感应,而引入模型类型是group,那么要对引入模型进行获取就要把raycaster.intersectObjects(children)里children对象设置为group的children这样就可以编辑对引入模型的点击事件。如果目标模型的同级模型干扰严重,可以直接外部建立一个透明mesh进行点击绑定// 获取与射线相交的对象数组function getIntersects(event) { event.preven
2021-01-29 11:08:53 3722
原创 threejs文字问题
threejs模型文字居中:利用内置属性—包围盒,确定其长度,进行计算;threejs精灵文字居中:我采用的是画布生成文字添加到精灵对象;画布形成字体时的字体大小与其开始位置进行计算
2021-01-27 19:46:47 648
原创 threejs
threejs引入问题:/jsm/路径下文件与three.module.js 为es6语法/js 路径下文件与three.js为es5原生语法将threejs引入其他开发环境时可能出现该问题。必要时可通过读取js文件的行为,外部获取包库来避免不可控的打包或者额外修改...
2021-01-27 19:42:13 245
原创 安装nvm替换node版本时的问题
一、卸载原先的node二、在vs code里安装全局依赖时,会把npm清空掉;初步分析是环境路径出现问题,直接替换掉。解决:直接下载NPM放置同路径三、npm run dev 时未找到指定命令,分析:一般是路径指定错误,查看调用路径是全局依赖还是本地依赖;后修改路径...
2021-01-27 19:36:20 241
原创 环境处理
记录一下同事帮助处理的环境处理代码----基于bat#include <stdlib.h>void main(){// 系统变量system(“setx /m NVM_HOME D:/Software/nvm”);system(“setx /m NVM_SYMLINK D:/Software/nvm/v9.11.2/node_global”);// 用户变量system(“setx NVM_HOME D:/Software/nvm/v9.11.2”);system(“setx
2021-01-27 18:12:04 62
原创 css居中问题
文字水平垂直居中/flex 布局/display: flex;/实现垂直居中/align-items: center;/实现水平居中/justify-content: center;不知道宽(高有对应)的块系元素居中:绝对定位:position:fixed;left:50%;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);...
2020-11-13 16:32:13 69
转载 css不确定宽度的绝对定位居中
https://zhuanlan.zhihu.com/p/45338803https://zhuanlan.zhihu.com/p/45338803
2020-11-09 14:27:12 529
原创 three.js的单张全景图展示的vscode依赖相关
使用vscode依赖添加:node.jsthree.jsphoto-sphere-viewer本地服务器:(端口操作)npm install http-server -ghttp-server . -p 8000如果本地服务器建立失败-尝试:get-ExecutionPolicy //返回如为RemoteSign,继续,不是则其他方案。set-ExecutionPolicy RemoteSignedget-ExecutionPolicyhttp-server
2020-10-21 11:02:57 160
转载 判断json里是否存在某个键值,删除某个键值
判断字典里是否存在某个键值:!!字典[key]存在key值返回true;不存在返回false请指正。
2020-09-05 17:15:56 1082
原创 3Dmax 建模完成后无法在unity中的地形中做成笔刷
在3Dmax建立了一个大型的树模型,想在unity中的Terrain里做成笔刷,方便编辑。但发现无法使用这个笔刷。在数次实验后发现,unity的笔刷只能是一个整体的模型(即模型附加成一个几何体),不能使用多个组成形成的prefab。但附加之后的贴图制作不能得到完美的效果。...
2020-02-05 22:35:04 1680
原创 SQL基础代码
--表连接查询/*SELECT [study-test2].describe, [study-test3].name, [study-test3].dataFROM [study-test3]INNER JOIN [study-test2]ON [study-test3].num = [study-test3].num*//*SELECT [study-test2].describ...
2019-09-24 17:25:42 155
原创 杨辉三角
public Boolean YH(int value) { if (value < 3) { return false; } //二维数组 int[,] arry = new int[value, value]; Cons...
2019-08-21 13:48:09 90
转载 sysdatabases 和sysobjects与 syscolumns
sysdatabases:查看mssql中所有的数据库:SELECT * from sysdatabases判断某张表是否存在:SELECT * from sysdatabaseswhere name = ‘moviesite’;统计数据库的总数:SELECT COUNT(*) as 数据库总数 from sysdatabasessysobjects查看数据库中所有的表格:sel...
2019-08-09 17:39:44 624
转载 SqlServer中把结果集放到到临时表的方法
使用select into会自动生成临时表,不需要事先创建select * into #temp from sysobjects INSERT INTO使用insert into,需要先手动创建临时表2.1 保存从select语句中返回的结果集create table test_getdate(c1 datetime)insert into test_getdate sele...
2019-08-09 15:03:47 1773
原创 数据库名..#表名
数据库名…#表名--------〉默认数据库名.dbo.#表名empdb…#tempc--------〉empdb.dbo.#tempc
2019-08-09 11:46:59 584
转载 SqlDataReader和SqlDataAdapter 区别
SqlDataReader 高效,功能弱,只读访问SqlDataAdapter 强大,要求资源也大一点SqlDataReader 只能在保持跟数据库连接的状态下才可以读取。。。SqlDataAdapter 大多情况下是一次性读取一个表,然后填充到DataSet中,然后就可以断开跟数据库的连接了。两者区别主要是 在线 和 离线 的区别。。。。。...
2019-08-09 10:58:52 214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人