YAML: sceneclassSceneConfig

场景配置

以声明式方式描述仿真世界的组成:地基、机器人、物体、传感器和光源。SceneManager 在运行时负责实例化并将实体注入仿真器。

源码fastsim/configs/scene_cfg.py

顶层字段8

字段类型必填默认值说明 / 约束
namestring可选场景名称
positionlist[3]可选[0.0, 0.0, 0.0]场景基准位置 [x, y, z](米)
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]场景基准旋转,四元数 [w, x, y, z]
须为单位四元数(归一化),即 w²+x²+y²+z²=1
base_configBaseConfig可选地基 / 环境配置,通过 stereotype 指定类型
robot_cfg_dictdict[str, RobotConfig]可选{}机器人配置字典,key 为实例名(运行时通过 SceneManager.get_robot(name) 访问)
object_cfg_dictdict[str, ObjectConfig]可选{}场景物体配置字典,key 为实例名
sensor_cfg_dictdict[str, SensorConfig]可选{}传感器配置字典,key 为实例名
light_cfg_dictdict[str, LightConfig]可选{}光源配置字典,key 为实例名

BaseConfig:地基与环境 (base_config)

每个场景只有一个 Base,定义物理地面或加载完整环境 USD。通过 stereotype 决定具体子类。

classGroundPlaneBaseConfigstereotypeground_planeextendsBaseConfig, SpawnableConfigfastsim/unisim/bases/models/ground_plane_base.py
字段类型必填默认值说明 / 约束
ground_plane_sizelist[2]可选[10.0, 10.0]地面视觉尺寸 [x, y](米),物理上无限延伸
每个值须 > 0
继承自SpawnableConfig5
字段类型必填默认值说明 / 约束
stereotypestring必填"ground_plane"
namestring必填实体名称
1-100 字符,不可含 / 或 \
prim_pathstring可选USD prim 路径
须以 / 开头
positionlist[3]可选[0.0, 0.0, 0.0]位置 [x, y, z](米)
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转(四元数 [w, x, y, z])
classUsdBaseConfigstereotypeusdextendsBaseConfig, SpawnableConfigfastsim/unisim/bases/models/usd_base.py
字段类型必填默认值说明 / 约束
asset_pathstring必填环境 USD 文件路径(支持 root_key:// 协议)
sourcestring必填local资产来源
local / remote / platform
继承自SpawnableConfig5
字段类型必填默认值说明 / 约束
stereotypestring必填"usd"
namestring必填实体名称
prim_pathstring可选USD prim 路径
positionlist[3]可选[0.0, 0.0, 0.0]位置 [x, y, z]
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转(四元数)
classEmptyBaseConfigstereotypeemptyextendsBaseConfig, SpawnableConfigfastsim/unisim/bases/models/empty_base.py
继承自SpawnableConfig4
字段类型必填默认值说明 / 约束
stereotypestring必填"empty",适合完全自定义物理场景
namestring必填实体名称
positionlist[3]可选[0.0, 0.0, 0.0]位置
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转
classMeshBaseConfigstereotypemeshextendsBaseConfig, SpawnableConfigfastsim/unisim/bases/models/mesh_base.py
字段类型必填默认值说明 / 约束
asset_pathstring必填网格文件路径(支持 root_key:// 协议)
sourcestring必填local资产来源
local / remote / platform
scalelist[3]可选[1.0, 1.0, 1.0]网格缩放 [x, y, z]
enable_collisionbool可选true是否参与碰撞。设为 false 则仅作为视觉背景
继承自SpawnableConfig4
字段类型必填默认值说明 / 约束
stereotypestring必填"mesh"
namestring必填实体名称
positionlist[3]可选[0.0, 0.0, 0.0]位置
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转

ObjectConfig:场景物体 (object_cfg_dict)

classRigidObjectConfigstereotyperigidextendsObjectConfig, SpawnableConfigfastsim/unisim/objects/models/rigid_object.py
字段类型必填默认值说明 / 约束
massfloat可选null物体质量(kg),优先于 density
densityfloat可选1000物体密度(kg/m³),仅在 mass 为 null 时生效
disable_gravitybool可选false是否禁用重力
kinematic_enabledbool可选false是否启用运动学模式(不受力学影响)
disable_rigid_bodybool可选false是否禁用刚体属性
linear_dampingfloat可选null线性阻尼
angular_dampingfloat可选null角阻尼
static_frictionfloat可选0.8静摩擦系数(覆盖 USD 中烘焙的摩擦材质)
dynamic_frictionfloat可选0.8动摩擦系数(覆盖 USD 中烘焙的摩擦材质)
restitutionfloat可选0.0弹性恢复系数(0 = 不反弹,1 = 完全弹性)
enable_collisionbool必填true是否启用碰撞
primitive_typeenum可选几何体类型(source 为 primitive 时必填)
box / sphere / cylinder / cone / capsule / disk
primitive_radiusfloat可选几何体半径(sphere / cylinder / cone / capsule)
primitive_sizelist[3]可选几何体尺寸 [x, y, z](box)
primitive_heightfloat可选几何体高度(cylinder / cone / capsule)
primitive_axisstring可选Z几何体轴向(cylinder / cone / capsule)
X / Y / Z
primitive_colorlist[3]可选null几何体漫反射颜色 RGB(每个分量在 [0, 1] 范围)
继承自ObjectConfig4
字段类型必填默认值说明 / 约束
sourcestring必填primitive资产来源
local / remote / platform / primitive
asset_pathstring可选USD 资产路径(source 为 local/remote 时必填)
scalelist[3]可选[1, 1, 1]缩放比例 [x, y, z]
axis_y_upbool可选false资产是否为 Y 轴朝上
继承自SpawnableConfig5
字段类型必填默认值说明 / 约束
stereotypestring必填"rigid"
namestring必填实体名称
prim_pathstring可选USD prim 路径
positionlist[3]可选[0.0, 0.0, 0.0]位置 [x, y, z]
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转(四元数)
classArticulatedObjectConfigstereotypearticulatedextendsObjectConfig, ArticulationConfig, SpawnableConfigfastsim/unisim/objects/models/articulated_object.py
继承自ArticulationConfig3
字段类型必填默认值说明 / 约束
actuator_cfg_dictdict[str, ActuatorConfig]必填{}执行器配置字典(关节驱动组)
init_joint_positiondict[str, float]可选{}初始关节位置
init_joint_velocitydict[str, float]可选{}初始关节速度
继承自ObjectConfig3
字段类型必填默认值说明 / 约束
sourcestring必填local资产来源
local / remote / platform
asset_pathstring必填USD 资产路径
scalelist[3]可选[1, 1, 1]缩放比例
继承自SpawnableConfig4
字段类型必填默认值说明 / 约束
stereotypestring必填"articulated"
namestring必填实体名称
positionlist[3]可选[0.0, 0.0, 0.0]位置
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转
classSoftObjectConfigstereotypesoftextendsObjectConfig, SpawnableConfigfastsim/unisim/objects/models/soft_object.py
字段类型必填默认值说明 / 约束
massfloat必填0.1物体总质量(kg)
densityfloat必填1000物体密度(kg/m³)
youngs_modulusfloat可选10000杨氏模量(Pa),控制体积柔性体的刚度
poissons_ratiofloat可选0.3泊松比,控制横向与纵向变形的比例
须在 [0, 0.5) 范围内
dampingfloat可选0.01全局阻尼系数
dynamic_frictionfloat可选0.5动摩擦系数
static_frictionfloat可选0.5静摩擦系数
stretch_stiffnessfloat可选10000拉伸刚度(N/m),仅布料类型生效
shear_stiffnessfloat可选1000剪切刚度(N/m),仅布料类型生效
bending_stiffnessfloat可选10.0弯曲刚度(N·m),仅布料类型生效
pressurefloat可选0.0内部压力(Pa),用于充气柔性体,0 表示禁用
soft_body_typeenum可选volumetric柔性体类型,提示仿真器使用何种模型
cloth / volumetric / inflatable
simulation_hex_meshbool可选false是否使用六面体网格进行体积 FEM(默认四面体)
particle_contact_offsetfloat可选0.02粒子接触检测半径(米)
solver_position_iterationsint可选16每步位置投影迭代次数
>= 1
enable_collisionbool必填true是否启用碰撞
self_collisionbool可选false是否启用自碰撞
disable_gravitybool可选false是否禁用重力
继承自ObjectConfig4
字段类型必填默认值说明 / 约束
sourcestring必填primitive资产来源
local / remote / platform / primitive
asset_pathstring可选USD 资产路径
scalelist[3]可选[1, 1, 1]缩放比例
axis_y_upbool可选false资产是否 Y 轴朝上
继承自SpawnableConfig5
字段类型必填默认值说明 / 约束
stereotypestring必填"soft"
namestring必填实体名称
prim_pathstring可选USD prim 路径
positionlist[3]可选[0.0, 0.0, 0.0]位置
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转

RobotConfig:机器人 (robot_cfg_dict)

PlannerConfig 为嵌套配置,由用户自定义规划器扩展;机器人基础字段在 RobotConfig 中定义,具体子类通过 stereotype 选择。

classGeneralRobotConfigstereotypegeneral_robotextendsRobotConfig, ArticulationConfig, SpawnableConfigfastsim/unisim/robots/models/general_robot.py
继承自RobotConfig4
字段类型必填默认值说明 / 约束
ee_link_namestring可选末端执行器 link 名称(单臂简写,多臂请用 modules.arms)
ik_joint_nameslist[str]可选参与 IK 计算的关节名称子集(不设则使用全部可动关节)
use_plannerbool可选false是否挂载运动规划器(如 CuRobo / OMPL)
planner_cfgPlannerConfig可选规划器详细配置,use_planner 为 true 时生效
继承自ArticulationConfig6
字段类型必填默认值说明 / 约束
asset_pathstring必填机器人 USD 资产路径
sourcestring必填local资产来源
local / remote / platform
actuator_cfg_dictdict[str, ActuatorConfig]必填{}执行器配置字典(关节驱动组)
init_joint_positiondict[str, float]可选{}初始关节位置
init_joint_velocitydict[str, float]可选{}初始关节速度
scalelist[3]可选[1, 1, 1]缩放比例
继承自SpawnableConfig4
字段类型必填默认值说明 / 约束
stereotypestring必填"general_robot"
namestring必填实体名称
positionlist[3]可选[0.0, 0.0, 0.0]位置
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转
classModularRobotConfigstereotypemodular_robotextendsRobotConfig, ArticulationConfig, SpawnableConfigfastsim/unisim/robots/models/modular_robot.py
字段类型必填默认值说明 / 约束
base_moduleBaseModuleConfig可选null移动底盘模块配置
arm_modulesdict[str, ArmModuleConfig]可选{}机械臂模块字典,key 为臂名称(如 left_arm、right_arm)
extra_modulesdict[str, ExtraModuleConfig]可选{}额外模块字典(如升降柱、头部等)
继承自ArticulationConfig2
字段类型必填默认值说明 / 约束
asset_pathstring必填机器人 USD 资产路径
actuator_cfg_dictdict[str, ActuatorConfig]必填{}执行器配置字典
继承自SpawnableConfig2
字段类型必填默认值说明 / 约束
stereotypestring必填"modular_robot"
namestring必填实体名称
classArmModuleConfigfastsim/unisim/robots/models/modules/arm_module.py
字段类型必填默认值说明 / 约束
arm_actuator_namestring必填机械臂执行器组名称(须与 actuator_cfg_dict 中的 key 一致)
ee_link_namestring可选末端执行器 link 名称,用于 IK、EE 位姿、规划器
ee_typestring可选none末端执行器类型
gripper / dexterous_hand / none
ee_actuator_namestring可选末端执行器(夹爪/灵巧手)对应的执行器组名称
planner_cfgPlannerConfig可选该臂的独立规划器配置(可覆盖机器人级别配置)
ee_conventionstring | list[4]可选zEE 朝向约定。字符串表示 gripper 前向轴(z / -x 等),四元数 [w,x,y,z] 表示灵巧手
classBaseModuleConfigfastsim/unisim/robots/models/modules/base_module.py
字段类型必填默认值说明 / 约束
base_actuator_namestring必填底盘执行器组名称
base_typestring可选differential底盘运动学类型
differential / omnidirectional / ackermann / legged
wheel_separationfloat可选null轮间距(米),差速/全向底盘使用
wheel_radiusfloat可选null车轮半径(米)
locomotion_cfgdict可选null足式运动控制器配置(base_type 为 legged 时使用),详见 LeggedLocomotionConfig
planner_cfgPlannerConfig可选null底盘导航规划器配置(如 A*+DWA / curobo_mpc_nav)
virtual_base_link_namestring可选null虚拟基座 link 名称(用于在 MPC 等动作中以虚拟基座坐标系做规划,与 BaseActuatorConfig.virtual_base_link_name 配合)
classExtraModuleConfigfastsim/unisim/robots/models/modules/extra_module.py
字段类型必填默认值说明 / 约束
actuator_namestring必填该模块对应的执行器组名称(如升降柱、头部云台等)
classPlannerConfigfastsim/configs/scene_cfg.py
字段类型必填默认值说明 / 约束
namestring可选default_planner_name规划器名称
stereotypestring必填规划器类型
curobo / ompl / 自定义
lazy_initbool可选false是否延迟初始化(首次使用时才加载)
classCuroboPlannerConfigstereotypecuroboextendsPlannerConfigfastsim/planner/planners/curobo/curobo_planner_cfg.py
字段类型必填默认值说明 / 约束
devicestring可选cuda计算设备
cpu / cuda
robot_config_filestring必填机器人 URDF/资产路径
world_config_filestring可选碰撞世界配置文件
world_config_sourcestring可选stage碰撞世界来源
stage / config_file
world_stage_ignore_substringslist[str]可选[]从 stage 构建碰撞世界时忽略的路径子串
world_stage_only_pathslist[str]可选["/World"]仅包含这些 stage 路径
world_stage_reference_prim_pathstring可选nullstage 参考 prim 路径
须以 / 开头
interpolation_dtfloat可选0.0167轨迹插值时间步长(秒)
attach_surface_sphere_radiusfloat可选0.001附着面球体半径
collision_activation_distancefloat可选0.02碰撞激活距离(米)
use_cuda_graphbool可选false是否使用 CUDA Graph 加速
warmup_enablebool可选trueMotionGen 初始化后是否运行 warmup。设为 false 跳过 ~7 次 warmup 规划:首次规划会变慢,但适合一次性数据生成场景;长程多次规划场景仍建议保留
warmup_js_trajoptbool可选true是否包含 3 次关节空间轨迹优化 warmup。仅做笛卡尔规划时可设为 false(FastSim 的 gen_motion_plan 是笛卡尔)
warmup_graphbool可选true是否包含 graph-search 与 cartesian-with-graph warmup。从未启用 enable_graph=True 时可设为 false
classOmplPlannerConfigstereotypeomplextendsPlannerConfigfastsim/planner/planners/ompl/ompl_planner_cfg.py
字段类型必填默认值说明 / 约束
robot_urdf_pathstring必填机器人 URDF 文件路径(碰撞模型)
ee_link_namestring可选末端执行器 link 名称
planning_algorithmstring可选RRTConnect规划算法
RRTConnect / RRTstar / PRM / BITstar / LazyPRM / KPIECE / EST / SBL
planning_timefloat可选5.0规划时间上限(秒)
interpolation_resolutionfloat可选0.01轨迹插值分辨率
collision_check_resolutionfloat可选0.01碰撞检测分辨率
rangefloat可选0.0RRT 搜索范围(0 表示自动)
simplify_pathbool可选true是否简化规划路径
num_ik_samplesint可选100IK 采样次数
classNavigationPlannerConfigextendsPlannerConfigfastsim/planner/navigation_planner_cfg.py
字段类型必填默认值说明 / 约束
map_resolutionfloat可选0.05占据栅格分辨率(米/格)
map_widthfloat可选20.0地图宽度(米)
map_heightfloat可选20.0地图高度(米)
map_origin_xfloat必填-10.0地图原点 X(世界坐标系,米)
map_origin_yfloat可选-10.0地图原点 Y(世界坐标系,米)
robot_radiusfloat必填0.2机器人碰撞半径(米)
obstacle_radiusfloat可选null单个障碍物的栅格化半径,null 时回退到 robot_radius
astar_resolutionfloat可选0.1A* 搜索栅格分辨率(米),可比 map_resolution 粗
simplify_pathbool可选true是否对 A* 路径做视线裁剪简化
path_waypoint_spacingfloat可选0.75简化后航点最大间距(米);<= 0 禁用
obstacle_ignore_substringslist[str]可选[]忽略障碍物名称中包含这些子串的物体
classAStarDWAPlannerConfigstereotypeastar_dwaextendsNavigationPlannerConfig, PlannerConfigfastsim/planner/planners/astar_dwa/astar_dwa_planner_cfg.py
字段类型必填默认值说明 / 约束
max_speedfloat必填0.5DWA 最大线速度(m/s)
min_speedfloat必填-0.2DWA 最小线速度(负值表示后退)
max_yaw_ratefloat必填1.0DWA 最大角速度(rad/s)
max_accelfloat必填0.3DWA 最大线加速度(m/s²)
max_delta_yaw_ratefloat必填1.0DWA 最大角速度变化率(rad/s²)
v_resolutionfloat必填0.02线速度采样分辨率(m/s)
yaw_rate_resolutionfloat必填0.05角速度采样分辨率(rad/s)
dtfloat必填0.1DWA 预测时间步长(s)
predict_timefloat必填2.0DWA 预测时间窗口(s)
to_goal_cost_gainfloat必填0.3DWA 朝向目标权重
speed_cost_gainfloat必填1.0DWA 速度权重
obstacle_cost_gainfloat必填1.0DWA 避障权重
path_cost_gainfloat必填0.5DWA 全局路径跟随权重
goal_pos_tolerancefloat必填0.1到达目标位置容差(m)
goal_angle_tolerancefloat必填0.2到达目标角度容差(rad)
继承自NavigationPlannerConfig3
字段类型必填默认值说明 / 约束
map_resolutionfloat可选0.05栅格分辨率
robot_radiusfloat必填0.2机器人碰撞半径
obstacle_ignore_substringslist[str]可选[]障碍物过滤子串列表
classCuroboMpcNavigationPlannerConfigstereotypecurobo_mpc_navextendsNavigationPlannerConfig, PlannerConfigfastsim/planner/planners/curobo_mpc_nav/curobo_mpc_nav_planner_cfg.py
字段类型必填默认值说明 / 约束
devicestring可选cudaMPC 求解器使用的 torch 设备
robot_config_filestring必填基座专用 curobo robot YAML 路径(支持 asset:// URI)
world_stage_only_pathslist[str]可选["/World"]从 USD stage 抽取障碍物的子树路径
world_stage_ignore_substringslist[str]可选[]从 stage 摄取时忽略的 prim 名子串
world_stage_reference_prim_pathstring可选null机器人基座 prim 路径,用于相对位姿
interpolation_dtfloat可选0.0167MPC 积分步长(s)
collision_activation_distancefloat可选0.01CuRobo 碰撞激活距离(米)
use_mppibool可选true是否启用 MPPI 采样子求解器
use_lbfgsbool可选false是否启用 L-BFGS 子求解器
use_cuda_graphbool可选false是否启用 CUDA Graph 捕获
mpc_step_max_attemptsint可选1每 tick 最多尝试 MPC step 次数
waypoint_reach_radiusfloat可选0.15平移子目标位置容差(米)
angle_reach_tolerancefloat可选0.05旋转子目标 yaw 容差(rad,约 2.9°)
replan_period_sfloat可选1.0已废弃字段(不再使用,缓存航点)
goal_pos_tolerancefloat必填0.1到达目标位置容差(米)
goal_angle_tolerancefloat必填0.2到达目标角度容差(弧度)
base_joint_nameslist[str]必填["joint_mobile_forward", "joint_mobile_side", "joint_mobile_yaw"]规划器写入位置目标的 3 个底盘关节名

SensorConfig:传感器 (sensor_cfg_dict)

classCameraConfigstereotypecameraextendsSensorConfig, SpawnableConfigfastsim/unisim/sensors/models/camera.py
字段类型必填默认值说明 / 约束
data_typeslist[str]必填["rgb"]采集数据类型列表
rgb / depth / semantic_segmentation / instance_segmentation / normals
widthint必填640图像宽度(像素)
heightint必填480图像高度(像素)
camera_modelenum可选pinhole相机模型类型
pinhole / fisheye
fix_camerabool可选false是否固定相机位姿
clip_rangelist[2]可选[0.001, 1000.0]深度裁剪范围 [near, far](米)
focal_lengthfloat可选24.0焦距(mm)
focus_distancefloat可选400.0对焦距离
f_stopfloat可选0.0光圈值(0 = 禁用景深效果)
horizontal_aperturefloat可选20.955水平孔径
vertical_aperturefloat可选null垂直孔径(null 则自动计算)
horizontal_aperture_offsetfloat可选0.0水平孔径偏移
vertical_aperture_offsetfloat可选0.0垂直孔径偏移
attach_toAttachToConfig可选挂载配置(挂到某实体或 link 上)
look_atLookAtConfig可选朝向配置(朝向目标实体或坐标)
conventionenum可选world坐标系约定
world(+X 前 +Z 上)/ opengl(-Z 前 +Y 上)/ ros(+Z 前 -Y 上)
继承自SpawnableConfig5
字段类型必填默认值说明 / 约束
stereotypestring必填"camera"
namestring必填传感器名称
prim_pathstring可选USD prim 路径
positionlist[3]可选[0.0, 0.0, 0.0]位置 [x, y, z]
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转(四元数)

LightConfig:光源 (light_cfg_dict)

classGeneralLightConfigstereotypegeneral_lightextendsLightConfig, SpawnableConfigfastsim/unisim/lights/models/general_light.py
字段类型必填默认值说明 / 约束
light_typeenum必填光源类型
distant(平行光)/ sphere(点光源)/ disk(面光源)
intensityfloat可选1.0光照强度
>= 0
exposurefloat可选0.0曝光值
colorlist[3]可选[1.0, 1.0, 1.0]颜色 [r, g, b],值域 0–1
visiblebool可选true光源自身网格是否在渲染中可见
enable_color_temperaturebool可选false是否启用色温(启用后 color 字段被覆盖)
color_temperaturefloat可选6500色温(开尔文 K)
normalizebool可选false是否对光照强度做归一化
radiusfloat可选光源半径(sphere 类型)
> 0
anglefloat可选光源角度(distant 类型)
texture_filestring可选纹理贴图文件路径
继承自SpawnableConfig4
字段类型必填默认值说明 / 约束
stereotypestring必填"general_light"
namestring必填光源名称
positionlist[3]可选[0.0, 0.0, 0.0]位置
rotationlist[4]可选[1.0, 0.0, 0.0, 0.0]旋转

配置示例

scene 配置块YAML
scene:
  name: pick_and_place_scene
  position: [0.0, 0.0, 0.0]
  rotation: [1.0, 0.0, 0.0, 0.0]

  base_config:
    stereotype: ground_plane
    ground_plane_size: [10.0, 10.0]

  robot_cfg_dict:
    arm:
      stereotype: modular_robot
      asset_path: assets://robots/ur5_with_gripper.usd
      use_planner: true
      actuator_cfg_dict:
        arm:
          joint_names_expr: ["joint_*"]
          stiffness: 50000.0
          damping: 800.0
        gripper:
          stereotype: gripper
          joint_names_expr: ["finger_*"]
      arm_modules:
        main_arm:
          arm_actuator_name: arm
          ee_link_name: tool0
          ee_type: gripper
          ee_actuator_name: gripper

  object_cfg_dict:
    cube:
      stereotype: rigid
      asset_path: assets://objects/cube_red.usd
      mass: 0.2
      enable_gravity: true
    cloth:
      stereotype: soft
      asset_path: assets://objects/cloth.usd
      soft_body_type: cloth
      mass: 0.05
      stretch_stiffness: 8000
      bending_stiffness: 5.0

  sensor_cfg_dict:
    wrist_cam:
      stereotype: camera
      width: 640
      height: 480
      data_types: [rgb, depth]
      attach_to: arm
      convention: ros

  light_cfg_dict:
    main_light:
      stereotype: general_light
      light_type: distant
      intensity: 3000
      color: [1.0, 1.0, 1.0]