- 博客(130)
- 资源 (1)
- 收藏
- 关注
原创 blender看不到导入的模型
参考:blender 快捷键 常见问题_blender材质预览快捷键-优快云博客方法一:视图-裁剪起点,设置一个很大的值方法二:选中所有对象,对齐视图-视图对齐活动项-选择一个视图
2025-03-06 17:30:33
653
原创 cesium 实现透明度渐变的polyline
cesium中有虚线材质PolylineDashMaterialProperty,在虚线材质的基础上,去掉计算虚线的部分,增加计算alpha的部分,就能实现透明度渐变的polyline。
2025-03-06 14:13:32
493
原创 glb压缩方案
四、如果像素过大,比如超过1024*1024,建议将glb进行ktx2纹理压缩。二、如果顶点过多,可采用draco压缩,在blender中导出glb可设置。查看glb详情,大致了解顶点、纹理等情况。三、如果图片过大,可压缩图片。
2025-03-05 14:49:47
434
原创 threejs在iso上闪退解决方案
iOS 的 WebGL 实现相对严格,某些特性可能不兼容,需要特殊处理,以下是一些优化项。四、压缩使用到的glb模型。一、设置renderer。三、使用ktx2压缩纹理。
2025-03-05 14:23:22
346
原创 cesium 解决加载带动画的glb不播放动画问题
使用entity方式加载的glb,默认会开启动画,但使用primitive加载的glb,需要手动开启动画。
2025-02-27 16:54:07
271
原创 threejs TextureLoader和KTX2Loader加载纹理 上下翻转问题
疑问:按道理来说,设置 texture.flipY = true;就能翻转过来,达到和TextureLoader一样的效果,但设置了并没有生效,如果有大佬知道原因,请指教。默认不会翻转 Y 轴,采用的是图像原点在左上角的坐标系,因此它加载的图像会上下翻转。为了与传统的纹理坐标系统保持一致,KTX2 文件的解析通常会需要额外的转换。threejs中使用TextureLoader和KTX2Loader加载相同纹理,出现了上下翻转的情况。默认翻转 Y 轴,按正常的方式加载纹理图像,原点位于左下角,Y 轴朝上。
2025-02-26 16:44:50
179
原创 cesium 根据中心点偏移视角锁定 视角跟随 第三人称视角跟随
在 Cesium.Matrix4.multiplyByTranslation(modelMatrix, forwardOffset, new Cesium.Matrix4()) 这行代码中,forwardOffset 的 XYZ 轴是 基于车辆自身坐标系 的,即它们表示的是车辆的本地坐标方向,而不是世界坐标系方向。假定场景中有一辆车,需要将相机视角锁定到这个车上,车辆在视角的中心位置,即三维容器的中心位置,可参考。
2025-02-24 14:38:25
239
原创 cesium setView flyTo lookAt
以下用截图分别说明setView flyTo lookAt 设置之后的不同之处,一个label记录这三个方法所需的destination或者target,一个label记录相机当前位置。设置完成相机看得到destination设置的位置。但此时不知道相机位置在哪?也许是相机看向的目标点?如果有大佬知道,请指教。
2025-01-20 17:08:57
258
原创 threejs如何判断两个物体在xy轴重合
有两个模型,只需要在xy轴重合就认为它们是重合的,比如图一,看起来有重叠,但转动视角到图二,发现并没有重叠,此时如果用包围盒判断,这两个模型肯定是不相交的。此时可以压平包围盒,只计算 XY 平面上的重叠。
2024-12-27 16:27:00
234
原创 blender中合并的模型,在threejs中显示多个mesh;blender多材质烘培成一个材质
5、优化项(省略此步骤,直接进行步骤6),进入到视图着色方式(此时没有灯光,整体偏暗,如果不调整灯光,烘培出来的材质也偏暗,因此此步骤为优化项,通畅建议调整)。在右边栏进入世界环境,调整颜色。7、烘焙成功之后,新建一个材质,将第三步创建的纹理图像作为材质的纹理,连接到基础色,并把模型的材质改为此材质,其他的材质全部删除。2、处理uv,在侧边栏选择数据-uv贴图,选中使用的uv,进入编辑模式,全选,键盘u,选择智能uv投射。3、处理材质,在侧边栏选择材质,进入着色,在着色器编辑器新建一个图像纹理,新建图像。
2024-12-27 14:03:32
1144
原创 threejs解决缩放到某个距离就不能继续缩放二
在上篇中写到,可以采取更改当前观察点或者相机的位置来解决,但如果此时只在缩放,并没有能点击的物体,此方法就不太适用了。此时可以采用监听wheel事件,改变fov的方式。优化:采用动画让缩放更平滑。
2024-12-06 11:19:45
438
原创 解决qgis运行python脚本安装geojson模块,打开新的qgis界面
QGIS 的 Python 环境未正确配置,sys.executable 指向了 QGIS 的主程序 (qgis-ltr-bin.exe) 而不是 Python 解释器。在qgis的控制台中,安装geojson模块,采用如下代码,结果是打开了新的qgis界面,并没有安装成功。直接指定 Python 解释器路径,而不是使用 sys.executable。
2024-11-19 16:50:21
303
1
原创 QGIS提取面的顶点坐标到属性表
执行之后,Polygon图层中多了一个字段coors,值为[[90.90873336,26.43078741],[91.90873336,26.43078741],[92.90873336,26.43078741],[90.90873336,26.43078741]]这种形式。
2024-10-29 10:05:53
568
原创 QGIS中提取面的中心坐标到属性表
执行之后,polygon的属性表中就多了一个字段center,值为[90.90873336,26.43078741]形式。运行之后结果如下,但是point是独立的图层,还需把point中每个点的坐标加入到面图层polygon的属性中。如果点图层中存在多个点位于同一个面中,则此代码仅将找到的第一个点的坐标赋值给面图层。确保点图层的每个点位于面图层的某个面内,否则无法找到对应的面。选择面图层polygon,选择矢量几何图形-质心-执行。需要并将polygon图层设置为编辑状态。注意:此段代码只能用于以下情况。
2024-10-29 09:30:43
677
原创 ue材质的常见的几种混合模式总结
在ue中,混合模式(Blend Modes)决定了材质如何与背景以及其他物体交互。3、Translucent:半透明。4、Additive:叠加。1、Opaque:不透明。2、Masked:已遮罩。
2024-10-18 10:41:22
837
原创 blender解决缩放到某个距离就不能继续缩放
threejs中也存在同样的问题,原因相同,都是因为相机位置和相机观察点距离太近导致的。1、视图中心->视图锁定->选择你想看的物体。blender中的解决方案。
2024-09-29 09:45:40
986
2
原创 常见的建模软件以及三维引擎的单位
3、cesium:米,使用WGS84地理坐标系。1、blender:米。2、unreal:厘米。4、threejs:米。
2024-09-29 09:35:04
258
原创 threejs解决缩放到某个距离就不能继续缩放
orbitControls有个默认的minDistance,表示相机位置camera.position和相机目标观察点orbitControls.target的最小距离,出现上述情况的原因就是在当前视角下,相机位置和目标观察点距离小于minDistance了,导致相机的缩放没有反应。举个例子,点击模型,获取点击位置,将orbitControls.target设置成这个位置,再把camera.position沿着这个位置向后移动一点,此时相机就能看向你想看的位置,并且能继续缩放。
2024-09-29 09:26:05
654
原创 rider 快捷键
格式化:ctrl+alt+L 文件搜索:连续两次shift 文件查找内容:ctrl+shift+f 文件中所有成员:ctrl+f12 头文件中根据函数名生成:alt+insert
2024-09-10 16:58:57
659
原创 ue4 C++设置骨骼网格体的动画序列
描述:在编辑器中有一个骨骼网格体,用C++创建骨骼体并加载动画序列,此处只说设置动画序列的两种方式,区别在于如何获取到动画序列的对象。
2024-08-21 11:18:59
577
原创 ue4.27 C++ 解析内容为json的字符串
3、重新编译项目,如果编译出错,可以尝试在ue4中,文件-刷新Visual Studio项目,自动打开Visual Studio再编译。json字符串为 R"({"x": -1870.0, "y": -11400.0})",里面内容是个json对象。R:表示这个字符串是原始字符串,不需要转义,允许字符串中包括\n等特殊字符。2、在项目的Build.cs文件中添加json相关的内容。1、需要引入json相关的头文件。
2024-08-09 17:31:58
523
原创 ue4.27 C++ 解析内容为数组的字符串
字符串为 L"([-1870.0,-11400.0])",里面内容是个数组,可以采用截取字符串的方式,提取出数组项。ps:C++新手刚入门,如果有更好的方案,欢迎大佬告知。L:表示这个字符串是宽字符串,需要转义。
2024-08-09 17:06:23
209
原创 blender隐藏关系线,删除空的父节点,并把模型移动到世界原点,游标操作
如上图:房子不在世界原点,旋转平移等操作的时候,并不是以自己为中心。
2024-08-06 10:40:21
1479
原创 threejs加载fbx带tga贴图报错
1、FBXLoader和TGALoader使用同一个LoadingManager。本例用的是threejs内置的全局加载器管理器DefaultLoadingManager。2、fbx文件和tga文件在同一个目录下,tga文件可以在子目录中,threejs会自动查找fbx所在目录及子目录。加载fbx之前,在LoadingManager中添加TGALoader。加载fbx后,找到使用tga的材质,再手动加载tga。1、需要知道哪个材质使用了tga。描述:threejs加载带tga贴图的fbx时,提示。
2024-08-06 10:09:51
616
1
原创 左手坐标系、右手坐标系、坐标轴方向
y轴朝上:Direct3D(特别是DirectX 9及之前版本)、3dmax。y轴朝上:webgl、Threejs、Unity、Unreal、Maya。z轴朝上:cesium、blender。z:向前(朝向观察者或者屏幕外)y:向前(朝向观察者或者屏幕外)
2024-08-01 10:48:48
521
原创 git commit报错: pre-commit hook failed (add --no-verify to bypass)
进入项目的.git>hooks目录,找到pre-commit文件,删除即可。在提交前做代码风格检查,若检查不通过,则提交失败。
2024-07-19 10:37:16
501
原创 threejs 获取视角 设置视角 camera OrbitControls
【代码】threejs 获取视角 设置视角 camera OrbitControls。
2024-06-20 16:34:53
764
原创 cesium 多边形加边框宽度 Polygon outlineWidth
cesium中用polygon添加多边形时,设置outlineWidth无效,常见做法是在添加polygon的同时加一个polyline,但是当多边形相邻两条边的角度比较小的情况下,这两个点的连接处有明显的交叉。第一步用turf的transformScale,当多边形的坐标比较相近的情况下,transformScale不是等比缩放的,导致多边形边框宽度不一致。第一步:通过turf的buffer方法计算出一个小一点的多边形,注意此时buffer第二个参数为复数才能得到小一点的多边形。
2024-06-12 17:41:42
1533
2
原创 cesium 渐变虚线效果 PolylineDashMaterialProperty
cesium中有虚线材质PolylineDashMaterialProperty,可以在这个材质的基础上结合uv设置每个顶点的透明度,就能实现渐变的效果了。
2024-06-12 17:09:59
1027
原创 cesium 根据两个点计算距离和角度
已知世界坐标系中的两个点p1、p2,求p1和p2的夹角。原理是以p1为原点,建立一个enu坐标系,求出在这个相对坐标系中p1到p2的单位向量,得到单位向量的xyz,再通过Math.atan2计算出这个单位向量和x轴的夹角,即是p1到p2的夹角。可以看出,两种方法就是计算localVector的方式不同,结果是一致的。1、红线为以1为原点建立的相对坐标系的x轴正方向。2、Math.atan2是内置方法。
2024-04-29 13:59:52
894
原创 cesium 常见的几种射线
三、沿着z轴方向的射线,也叫垂直射线。四、相机位置到屏幕坐标点的射线。一、沿着x轴方向的射线。二、沿着y轴方向的射线。六、A点到B点的射线。
2024-04-26 16:09:19
1108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人