自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 资源 (1)
  • 收藏
  • 关注

原创 blender中旋转模型,导入到threejs中带了旋转信息

在Blender中旋转模型后,导入Three.js时可能会携带旋转信息,影响后续渲染和操作。为避免此问题,需在Blender中应用旋转。具体步骤为:全选模型,按下Ctrl+A,选择“旋转”或“全部变换”,以重置旋转信息。类似地,缩放和平移等变换也需进行相同操作

2025-05-16 11:46:27 221

原创 常见三维引擎坐标轴 webgl threejs cesium blender unity ue 左手坐标系、右手坐标系、坐标轴方向

【代码】常见三维引擎坐标轴 webgl threejs cesium blender unity ue 左手坐标系、右手坐标系、坐标轴方向。

2025-05-15 19:55:20 309

原创 canvas坐标系转webgl坐标系

在将Canvas坐标系转换为WebGL坐标系时,需要注意三点:首先,坐标原点不同,需将Canvas的中心作为WebGL的原点;其次,Canvas的Y轴向下,而WebGL的Y轴向上,需对Y值取反;最后,需计算鼠标点击位置相对于Canvas中心的偏移量,并将其转换为WebGL坐标。通过事件监听获取鼠标在Canvas中的位置,再通过计算将其转换为WebGL坐标系中的坐标。代码示例展示了如何实现这一转换过程。

2025-05-09 20:29:44 237

原创 threejs解决缩放到某个距离就不能继续缩放 解决方案三

上篇写道,可通过修改相机fov方式缩放视角。本篇采用修改相机zoom方式缩放视角。对比zoom和fov。

2025-04-28 15:04:21 286

原创 SOW GPS时间 UTC时间 UNIX时间

一、SOW:Seconds of Week二、GPS时间三、UTC时间四、UNIX时间

2025-04-28 13:49:59 319

原创 blender看不到导入的模型

参考:blender 快捷键 常见问题_blender材质预览快捷键-CSDN博客方法一:视图-裁剪起点,设置一个很大的值方法二:选中所有对象,对齐视图-视图对齐活动项-选择一个视图

2025-03-06 17:30:33 977

原创 cesium 实现透明度渐变的polyline

cesium中有虚线材质PolylineDashMaterialProperty,在虚线材质的基础上,去掉计算虚线的部分,增加计算alpha的部分,就能实现透明度渐变的polyline。

2025-03-06 14:13:32 561

原创 glb压缩方案

四、如果像素过大,比如超过1024*1024,建议将glb进行ktx2纹理压缩。二、如果顶点过多,可采用draco压缩,在blender中导出glb可设置。查看glb详情,大致了解顶点、纹理等情况。三、如果图片过大,可压缩图片。

2025-03-05 14:49:47 642

原创 png图片压缩成ktx2

一、主要使用 KTX Software 提供的 toktx.exe。三、批量压缩图片,使用python脚本。

2025-03-05 14:34:59 298

原创 threejs在iso上闪退解决方案

iOS 的 WebGL 实现相对严格,某些特性可能不兼容,需要特殊处理,以下是一些优化项。四、压缩使用到的glb模型。一、设置renderer。三、使用ktx2压缩纹理。

2025-03-05 14:23:22 386

原创 cesium 解决加载带动画的glb不播放动画问题

使用entity方式加载的glb,默认会开启动画,但使用primitive加载的glb,需要手动开启动画。

2025-02-27 16:54:07 393

原创 threejs TextureLoader和KTX2Loader加载纹理 上下翻转问题

疑问:按道理来说,设置 texture.flipY = true;就能翻转过来,达到和TextureLoader一样的效果,但设置了并没有生效,如果有大佬知道原因,请指教。默认不会翻转 Y 轴,采用的是图像原点在左上角的坐标系,因此它加载的图像会上下翻转。为了与传统的纹理坐标系统保持一致,KTX2 文件的解析通常会需要额外的转换。threejs中使用TextureLoader和KTX2Loader加载相同纹理,出现了上下翻转的情况。默认翻转 Y 轴,按正常的方式加载纹理图像,原点位于左下角,Y 轴朝上。

2025-02-26 16:44:50 247

原创 cesium 根据中心点偏移视角锁定 视角跟随 第三人称视角跟随

在 Cesium.Matrix4.multiplyByTranslation(modelMatrix, forwardOffset, new Cesium.Matrix4()) 这行代码中,forwardOffset 的 XYZ 轴是 基于车辆自身坐标系 的,即它们表示的是车辆的本地坐标方向,而不是世界坐标系方向。假定场景中有一辆车,需要将相机视角锁定到这个车上,车辆在视角的中心位置,即三维容器的中心位置,可参考。

2025-02-24 14:38:25 313

原创 cesium绕点旋转

绕点旋转的原理可以理解为相机一直看向一个点,不断改变相机的位置。如果需要绕屏幕中心点旋转,可参考。

2025-01-20 17:18:33 263

原创 cesium setView flyTo lookAt

以下用截图分别说明setView flyTo lookAt 设置之后的不同之处,一个label记录这三个方法所需的destination或者target,一个label记录相机当前位置。设置完成相机看得到destination设置的位置。但此时不知道相机位置在哪?也许是相机看向的目标点?如果有大佬知道,请指教。

2025-01-20 17:08:57 275

原创 cesium 沿视线方向移动相机动画

【代码】cesium 沿视线方向移动相机动画。

2025-01-20 16:14:15 207

原创 cesium 获取屏幕中心位置对应的经纬度

描述:cesium获取屏幕中心位置对应的经纬度,可用于绕点旋转等场合。

2025-01-20 15:59:00 258

原创 blender中对合并的网格分离点线面

描述:blender中有一个经过了合并的mesh,需要分离出其中某些点线面。

2025-01-15 16:32:38 545

原创 threejs如何判断两个物体在xy轴重合

有两个模型,只需要在xy轴重合就认为它们是重合的,比如图一,看起来有重叠,但转动视角到图二,发现并没有重叠,此时如果用包围盒判断,这两个模型肯定是不相交的。此时可以压平包围盒,只计算 XY 平面上的重叠。

2024-12-27 16:27:00 245

原创 blender中合并的模型,在threejs中显示多个mesh;blender多材质烘培成一个材质

5、优化项(省略此步骤,直接进行步骤6),进入到视图着色方式(此时没有灯光,整体偏暗,如果不调整灯光,烘培出来的材质也偏暗,因此此步骤为优化项,通畅建议调整)。在右边栏进入世界环境,调整颜色。7、烘焙成功之后,新建一个材质,将第三步创建的纹理图像作为材质的纹理,连接到基础色,并把模型的材质改为此材质,其他的材质全部删除。2、处理uv,在侧边栏选择数据-uv贴图,选中使用的uv,进入编辑模式,全选,键盘u,选择智能uv投射。3、处理材质,在侧边栏选择材质,进入着色,在着色器编辑器新建一个图像纹理,新建图像。

2024-12-27 14:03:32 1269

原创 threejs相机辅助对象cameraHelper

为指定相机创建一个辅助对象,显示这个相机的视锥。

2024-12-06 16:33:33 719

原创 threejs解决缩放到某个距离就不能继续缩放 解决方案二

在上篇中写到,可以采取更改当前观察点或者相机的位置来解决,但如果此时只在缩放,并没有能点击的物体,此方法就不太适用了。此时可以采用监听wheel事件,改变fov的方式。优化:采用动画让缩放更平滑。

2024-12-06 11:19:45 495

原创 解决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 326 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 606

原创 QGIS中提取面的中心坐标到属性表

执行之后,polygon的属性表中就多了一个字段center,值为[90.90873336,26.43078741]形式。运行之后结果如下,但是point是独立的图层,还需把point中每个点的坐标加入到面图层polygon的属性中。如果点图层中存在多个点位于同一个面中,则此代码仅将找到的第一个点的坐标赋值给面图层。确保点图层的每个点位于面图层的某个面内,否则无法找到对应的面。选择面图层polygon,选择矢量几何图形-质心-执行。需要并将polygon图层设置为编辑状态。注意:此段代码只能用于以下情况。

2024-10-29 09:30:43 774

原创 ue材质的常见的几种混合模式总结

在ue中,混合模式(Blend Modes)决定了材质如何与背景以及其他物体交互。3、Translucent:半透明。4、Additive:叠加。1、Opaque:不透明。2、Masked:已遮罩。

2024-10-18 10:41:22 919

原创 ue4多个面重叠闪烁

描述:当多个面重叠的时候,出现闪烁。比如有三个面ABC,A在最底下,B在中间,C在最上面。

2024-09-30 10:19:58 732

原创 blender解决缩放到某个距离就不能继续缩放

threejs中也存在同样的问题,原因相同,都是因为相机位置和相机观察点距离太近导致的。1、视图中心->视图锁定->选择你想看的物体。blender中的解决方案。

2024-09-29 09:45:40 1135 2

原创 常见的建模软件以及三维引擎的单位

3、cesium:米,使用WGS84地理坐标系。1、blender:米。2、unreal:厘米。4、threejs:米。

2024-09-29 09:35:04 272

原创 threejs解决缩放到某个距离就不能继续缩放

orbitControls有个默认的minDistance,表示相机位置camera.position和相机目标观察点orbitControls.target的最小距离,出现上述情况的原因就是在当前视角下,相机位置和目标观察点距离小于minDistance了,导致相机的缩放没有反应。举个例子,点击模型,获取点击位置,将orbitControls.target设置成这个位置,再把camera.position沿着这个位置向后移动一点,此时相机就能看向你想看的位置,并且能继续缩放。

2024-09-29 09:26:05 732

原创 rider 快捷键

格式化:ctrl+alt+L 文件搜索:连续两次shift 文件查找内容:ctrl+shift+f 文件中所有成员:ctrl+f12 头文件中根据函数名生成:alt+insert

2024-09-10 16:58:57 699

原创 ue4 C++设置骨骼网格体的动画序列

描述:在编辑器中有一个骨骼网格体,用C++创建骨骼体并加载动画序列,此处只说设置动画序列的两种方式,区别在于如何获取到动画序列的对象。

2024-08-21 11:18:59 607

原创 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 531

原创 ue4.27 C++ 解析内容为数组的字符串

字符串为 L"([-1870.0,-11400.0])",里面内容是个数组,可以采用截取字符串的方式,提取出数组项。ps:C++新手刚入门,如果有更好的方案,欢迎大佬告知。L:表示这个字符串是宽字符串,需要转义。

2024-08-09 17:06:23 216

原创 blender隐藏关系线,删除空的父节点,并把模型移动到世界原点,游标操作

如上图:房子不在世界原点,旋转平移等操作的时候,并不是以自己为中心。

2024-08-06 10:40:21 1738

原创 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 669 1

原创 git commit报错: pre-commit hook failed (add --no-verify to bypass)

进入项目的.git>hooks目录,找到pre-commit文件,删除即可。在提交前做代码风格检查,若检查不通过,则提交失败。

2024-07-19 10:37:16 521

原创 threejs 点击模型拾取,页面有偏移导致拾取不准

【代码】threejs 点击模型拾取,页面有偏移导致拾取不准。

2024-07-11 09:20:16 525 1

原创 blender 快捷键 常见问题

解决办法:视图-裁剪起点,设置一个很大的值。问题:导入模型成功,但是场景中看不到。

2024-06-20 16:51:52 1972

原创 threejs 获取视角 设置视角 camera OrbitControls

【代码】threejs 获取视角 设置视角 camera OrbitControls。

2024-06-20 16:34:53 826

cesium 多边形渐变颜色 canvas方式+图片方式

cesium 多边形渐变颜色 canvas方式+图片方式

2024-02-02

cesium Billboard Label 不面向屏幕 贴地面

cesium Billboard Label 不面向屏幕 贴地面

2024-02-02

mapbox threebox 下雨效果

mapbox threebox 下雨效果

2024-01-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除