8.1
两条地质界线生成面

修改专利,提交专利
实现四方连续

8.8
集成无缝功能
-
日志
-
调节参数
-
还差对接UE的自定义材质功能

探索地质界线更清晰的表达方式
-
探索使用text Render方式,效果不好,会穿插到地下
-
继续使用贴花的方式显示界线名称
-
制作字符串转为黑白遮罩函数
-
制作界线展示的基本轮廓
-
还有待解决展示效果问题,包括位置、材质、旋转、碰撞问题
-
集成线形成面

8.15
自动化关卡——集成自动化植被和建筑
-
本地读取遮罩文件
-
按照工程区大小自动设置PCG尺寸
-
生成建筑
-
还差多样性植被和建筑
-
建筑和地表穿插问题
-
地表森林材质需要调节
修改集成UE5.5的一些bug
-
自动化ply
-
pawn的一些调整
-
射线检测一些问题等等
-
自动化关卡还是有一些问题没有改完
学了一下QT新的框架,制作新的弹性盒子
- AI制作了新的框架页面
- 额外新线程加载大模型
8.25
AI工具软件
- 学习多线程,制作全局Pipeline懒加载到GPU,设置跨模块观察者模式通信,通知UI界面的加载状态
- 后台线程懒加载大模型和大模型框架,并且添加了懒加载排队机制,不阻塞UI,不会加载时候未响应。
- 生图 (优先级1) → 局部重绘 (优先级2) → 语义分割 (优先级3) → 法线生成 (优先级4) → 高清放大 (优先级5)
优化矢量字体到像素的转换
- 拿到了行业标准字体渲染库 stb_truetype.h
- 字符串——Unicode——字体库查找字形——得到贝塞尔曲线上的轮廓点坐标——渲染真实的字体轮廓
- 添加了抗锯齿
线简化
- 去掉固定间隔采样法
- 使用DouglasPeucker算法,重新简化点。cad的算法,用最少的点保持线条的原始形状
- 分解策略缩点
- 按照点数分4个级别分出4个容忍度百分比。小于20点—2%、20-100点—5%、100-500点—8%、大于500点—12%。具体就是相对于平均段长度的百分比
- 判断复杂度,得出复杂度系数,偏直线,系数=2;弯曲处,系数=0.6倍
- 基础容忍度 = 平均段长 * 容忍度百分比 * 复杂系数
- 最后判断出中间各个点距离最远直线距离>容忍度,就保留点,其他都删掉

UE改针对PLY地表的BUG
- 编辑功能基本都能改完了
Python和运行时UE联通
8.29
两条有序线段最佳连接问题
A1-A2-A3-A4 B1-B2-B3-B4
- 四种连接方式,采用最小距离法,如果出现交叉,就更换
- 分别判断A1—B1或者B4的距离
- 如果A1-B1最小,那就将A线所有点反转,拼接到B线段后面
- 如果A1-B4最小,那就将B线段所有点反转,拼接到A线段后面
- 形成了闭合的环,然后在去做三角化第三方啊撒地方
网格法构建三角形
- 原因:耳切法失败了,留下了好多内部空洞
- 计算包围盒,找到最小外接矩形,生成网格
- 计算网格密度,根据尺寸自动计算,300km—150X150网格,150km—120X120,50km—100X100.至少80X80
- 生成网格点,利用非零环绕数法计算出点是否在闭合内,并且判断到边界的距离,小于阈值标记为边缘点,在边缘网格在插入额外的点,进行边缘细化。 (如果边是向上跨越,并且 P在边的左侧 → 环绕数 +1; 如果边是向下跨越,并且 P在边的右侧 → 环绕数 −1 右侧左侧是相对于边的方向来说的,跨越是坐标系的Y值的大和小)
- 对整个网格进行单元划分三角形,不同风格模式,生成不一样的三角形
- 使用射线法筛选出内部三角形
约束Delaunay
- 研究了解了随机增量法Delaunay,(Bowyer–Watson算法),解决掉所有坏的三角形,得到德劳内三角网
- 研究约束Delauny,CDT 约束
约束:eraseOuterTrianglesAndHoles,基于约束边进行拓扑遍历
- 原始点集和约束边点合并后,先进行随机增量德劳内法,得到德劳内三角网
- 传入约束边,找出它穿过的三角形
- 找到这条边在三角网上的路径,
- 删除路径上的三角形,形成一个通道
- 通过翻边,形成周围的三角形
- 然后继续局部合法化,对约束变两侧普通边进行翻边,不跨越约束边
库有直接使用的方法和擦除方法,

界线线添加盒体碰撞
- 识别线的名字贴花处的XY
- 等待地表加载完毕,获取到真实地表此刻Z
