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的算法,用最少的点保持线条的原始形状
  • 分解策略缩点
    1. 按照点数分4个级别分出4个容忍度百分比。小于20点—2%、20-100点—5%、100-500点—8%、大于500点—12%。具体就是相对于平均段长度的百分比
    2. 判断复杂度,得出复杂度系数,偏直线,系数=2;弯曲处,系数=0.6倍
    3. 基础容忍度 = 平均段长 * 容忍度百分比 * 复杂系数
    4. 最后判断出中间各个点距离最远直线距离>容忍度,就保留点,其他都删掉

UE改针对PLY地表的BUG

  • 编辑功能基本都能改完了

Python和运行时UE联通

8.29

两条有序线段最佳连接问题

A1-A2-A3-A4 B1-B2-B3-B4

  1. 四种连接方式,采用最小距离法,如果出现交叉,就更换
  2. 分别判断A1—B1或者B4的距离
  3. 如果A1-B1最小,那就将A线所有点反转,拼接到B线段后面
  4. 如果A1-B4最小,那就将B线段所有点反转,拼接到A线段后面
  5. 形成了闭合的环,然后在去做三角化第三方啊撒地方

网格法构建三角形

  • 原因:耳切法失败了,留下了好多内部空洞
  1. 计算包围盒,找到最小外接矩形,生成网格
  2. 计算网格密度,根据尺寸自动计算,300km—150X150网格,150km—120X120,50km—100X100.至少80X80
  3. 生成网格点,利用非零环绕数法计算出点是否在闭合内,并且判断到边界的距离,小于阈值标记为边缘点,在边缘网格在插入额外的点,进行边缘细化。 (如果边是向上跨越,并且 P在边的左侧 → 环绕数 +1; 如果边是向下跨越,并且 P在边的右侧 → 环绕数 −1 右侧左侧是相对于边的方向来说的,跨越是坐标系的Y值的大和小)
  4. 对整个网格进行单元划分三角形,不同风格模式,生成不一样的三角形
  5. 使用射线法筛选出内部三角形

约束Delaunay

  • 研究了解了随机增量法Delaunay,(Bowyer–Watson算法),解决掉所有坏的三角形,得到德劳内三角网
  • 研究约束Delauny,CDT 约束

约束:eraseOuterTrianglesAndHoles,基于约束边进行拓扑遍历

  1. 原始点集和约束边点合并后,先进行随机增量德劳内法,得到德劳内三角网
  2. 传入约束边,找出它穿过的三角形
  3. 找到这条边在三角网上的路径,
  4. 删除路径上的三角形,形成一个通道
  5. 通过翻边,形成周围的三角形
  • 然后继续局部合法化,对约束变两侧普通边进行翻边,不跨越约束边

库有直接使用的方法和擦除方法,

界线线添加盒体碰撞

  • 识别线的名字贴花处的XY
  • 等待地表加载完毕,获取到真实地表此刻Z