使用Sketchup作为nebula2的场景编辑器[编写中]

使用Sketchup作为nebula2的场景编辑器
--kaikai

极短的简介
==========
Sketchup作为一个快速建模软件,有着易学易用、简洁高效的特点。十分适合美术以及关卡设计师使用。

组件 Component
==============
要编辑场景,必须把各个需要用到的模型转为组件,然后在把组建拖放到场景内摆放组合。组件区别于实际用于游戏中的组件模型,它可以是组件模型的简化甚至可以是象征。
概念
 组件定义Component Definition
  组件的内容
 组件实例Component Instance
  组件在场景的引用,包含位置、方向、缩放、别名等信息
规则
 1 组件要导出必须有文件名(注意此条规则可以去除,保留它仅仅了导出后可以导入)
 2 组件实例可以自定义组件名:右键点击组件实例,选择Entity Info,在弹出的Entity Info窗口内Name字段填写。
  自定义组件名用于程序识别组件的逻辑意义。比如同样的多个交通灯组件实例,可以分别定义组件名为:TrafficLightA, TrafficLightB, TrafficLightC等。

额外的配置文件
==============
为了赋予组件更多的功能,需要提供更多的信息来区分组件的性质。使用一个额外的配置文件来保存这些信息
概念
 唯一名称 Unique name
  组件定义的文件名,如 box.skp
 自定义组件名 Name
  标志组件逻辑的名字,参见 组件-规则-2
 输出路径 path
  相对路径,按组件类型不同对应不同的根路径
 摆放类型 Transform
  由平移(Position)、旋转(Rotation)、缩放/拉伸(Scale)的缩写PRS组成,如P,R,S,PR,PS,RS,PRS
 类型
  区分组件使用方法的名字,分为Graphics,Triggers,Collision,NamedPos等
 Graphics
  场景元素,组件是任意网格模型,可以被平移、旋转、缩放/拉伸(PRS)。
 Triggers
  触发器,组件是单位立方体,可以平移、旋转、缩放/拉伸(PRS)。
 Collision
  场景物理碰撞模型,组件是任意网格模型,可以平移、旋转(PR)但不能缩放/拉伸(S)。(ode不支持geom的缩放/拉伸)
  也可以是单位立方体/单位球/单位胶囊体(单位圆柱体两侧连2个单位半球体),可以平移、旋转、缩放/拉伸。(通过ode的内置几何体参数实现缩放/拉伸)球体只能缩放,不能拉伸;胶囊体只能缩放不能拉伸,但可以把圆柱体部分拉伸。
 NamedPos
  出生点SpawnPos, 目标点ExitPos等等逻辑坐标。可以平移、旋转(PR)。
规则
 1 Graphics组件的配置文件信息包含:unique name, name, path, transform, type。其中type为区分


导出流程
========
 1 带有组件的skp -(使用本项目附带的sketchup插件导出)-> map文件
 2 map文件 + xml配置文件 -(map2xml转换)-> 场景xml文件
 3 场景xml文件 -(nsketchupmaploader读取)-> mangalore场景

原文地址:https://www.cnblogs.com/kaikai/p/700539.html