Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38826
  • 博文数量: 59
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 328
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-11 09:27
文章分类
文章存档

2015年(7)

2014年(52)

我的朋友

分类: 信息化

2014-07-28 14:46:11

组件 - Lua 脚本
    如需为某图形添加 Lua 脚本文件,您可以定义一个新文件,也可附加一个已有脚本文件。 可以为一个对象附加多个 Lua 组件,从而创造出更复杂的行为。 例如,可以将LookAt 脚本和 PlaySoundOnFootStep 脚本配合起来使用。

重要说明:     请注意,我们采用 SWIG 封装 Lua 中的 C++ 类,所以所有对象的行为都类似指针 - 包括向量(Vision.hkvVec3)或颜色(Vision.VColorRef)。 因此,赋值(vector1 = vector2)所修改的是指针而非数据。 在这种情况下,您应当使用 clone() 而非赋值(vector1 = vector2:clone())。 ‘+’、‘-’、‘*’、‘/’等关键字可以放心使用,因为它们会为您生成一个新实例:vector1 = vector2 + vector3

附件图形类型
    该组件可附加到以下任何图形类型上:
类型
实体 粒子组 触发框
光照 路径 几何网格
VDialog(V 对话框) VWindowBase(V 窗口基底) 声音
任意 3D 对象(布对象、立方体贴图、镜面、投射器、体积锥体、水体、路径镜头……)
属性
    以下是与 Lua 脚本组件有关的属性:

    1、ComponentID(组件 ID): 可选组件名称,用于在附加组件中标识该组件。
    2、ScriptFile(脚本文件): 定义用于该组件的脚本文件。 您可以选择创建新脚本或通过浏览器选项选取现有脚本。 使用选项下拉菜单获取更多选项。

     提示:
    如脚本编辑器视图已打开,对现有 Lua 文件选择编辑会将该文件载入到脚本编辑器中。
自定义属性
    如果 Lua 脚本有 OnExpose 回调,则会显示附加的自定义属性。 该回调允许您为每个实例分别指定值。
    以下 Lua 脚本示例设置了 3 个自定义变量:
 function OnExpose(self) self.HitPoints = 100 --This value will be exposed to vForge with a default value of 100 self.Weapon = "Sword" --So you can customize such values per instance without further modifications self.SpawnPoint = Vision.hkvVec3(104,38,10)  end
    这 3 个变量会作为脚本组件的附加属性出现,并带有代码编写的默认值。 您可以为每个具体实例编辑这些值而无需更改 Lua 脚本。
OnExpose 回调支持以下数据类型:
    基本 Lua 类型: 字符串、数字、布尔值、空类型(但不包括用户数据)
    基本 Vision 类型:hkvVec3、hkvMat3、VBitmask、VColorRef
    提示: 当使用‘nil’(空类型)为默认值时,您可以指定任意数量的 Lua 代码为具体实例的值。 请确保代码使用正确的 Lua 语法!
组件 - 跟随路径
    跟随路径组件可附加到任何 3D 对象上,在“运行游戏”模式下,或者“在编辑器中运行”已启动时,该对象会跟随一个指定了路径键名的路径图形移动。

附件图形类型
    该组件可附加到以下任何图形类型上:
  • 实体
  • 所有约束
  • Vision 布对象
  • 立方体贴图
  • 体积锥体
  • 水体
  • 预建体
  • 平行光照 - 静态和动态
  • 点光照 / 全局光照 - 静态和动态
  • 聚光灯 - 静态和动态
  • 镜头位置
  • 路径 - 曲线和直线
  • 路径镜头
  • 触发框
  • 所有声音图形
  • 可视性对象
属性
    以下是与跟随路径组件有关的属性

    Component ID(组件 ID): 可选组件名称,用于在附加组件中标识该组件

    Path Key(路径键名): 要跟随的路径图形的对象键名

    Time(时间): 该对象沿目标路径移动完整长度所需时间量,以秒为单位。

    Initial Offset(初始补偿): 路径上的初始补偿(0 到 1)

    Looped(循环): 如为 True,则附加对象会沿路径循环移动

    Direction(指向): 如为 True,则附加对象会顺着路径旋转(一阶导数)

    Position Offset(位置补偿): 相对于估算路径点系统的位置补偿。

    Orientation Offset(朝向补偿): 相对于估算路径点系统(平摆 X、俯仰 Y、摇摆 Z)的朝向补偿

    转自:
阅读(189) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~