# 单体化三维切片制作

该方法将所有的同一个实例的模型,如一条道路上的n个树或者路灯作为一个i3dm加载,每个模型坐标为真实的笛卡尔坐标(非RTC形式有可能存在误差) 未考虑旋转角度信息

# 适用场景

适用于树,路灯,井盖等批量单体化的模型,如果模型存在朝向且距离比较近,可能会因为坐标误差使模型之间对比起来的朝向不准确, 如当斑马线距离控制点比较远时,而斑马线之间距离又相对比较近,受误差影响斑马线布局可能会不正常

# 使用方法

  1. 在3dmax Scripting Listener中输入:select $*车道线*,选择所有车道线,检查是否所有实例化对象为同一个实例
  2. 执行以下脚本getPosPy.py,输出模型信息
    点击查看代码
    select $*???*
    selObj = selection as Array
    out_file = createfile "F:/Document/3dsMax/export/output_key.txt" encoding:#utf8
    for i=1 to selObj.count do(
       format "%;%;%\n" (selObj[i].name) (selObj[i].pos) (selObj[i].rotation.z_rotation)to:out_file
    )
    close out_file
    
  3. 修改该脚本中out_file路径,并执行,执行结果在txtFile同目录下
  4. 导出单个实例对象,从3dmax中选择一个实例模型 执行:
    点击查看代码
      $.position = [0,0,0]
      $.rotation.z_rotation = 0
      exportfile "F:/Document/3dsMax/export/data.fbx" #noprompt selectedOnly:true
    
  5. 执行:
    fbx2gltf -i data.fbx -o data.glb