组件 - 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)的朝向补偿
相关推荐
游戏引擎HGE结合Lua脚本 教程.zip
Lua是一种免费、开放的中间代码型的脚本语言,作者在研究了它的结构和 特点的基础上,对Lua运行环境中的堆栈结构进行了分析,由于引擎与Lua脚本 均能够操作堆栈中的数据,因此通过把堆栈作为两者信息传递的中间层,...
lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问...
LUA脚本支持库|LUA脚本支持库
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。 Lua由...
window系统 Lua脚本语言编译器,放在全局变量上就可以使用,在window系统环境下,必须配置才能使用
游戏引擎以Lua脚本驱动的经典扫雷游戏 程序介绍: 1、开发环境VC6 2、UI使用MFC 3、绘图使用GDI 4、声音使用mmsystem媒体功能 5、Lua开发包版本lua5.1.4 游戏引擎: 1、Lua程序驱动引擎QLua.dll版本2.0,...
Lua脚本引擎The Programming Language Lua
适用于lua脚本的解密
资料中介绍了Lua 脚本语法说明,介绍LUA编程语法和详细使用教程,非常适合LUA脚本初学者学习,适合LUA基础学习
Lua脚本支持库
freeswitch LUA 脚本reference lua 脚本reference lua 开发脚本指南
lua脚本执行行数和次数统计的Dll,统计了lua执行的文件名,行数以及改行执行的次数,并输出到结果文件result.txt。包含了一个例子文件test.lua
Lua是一种面向过程的简单轻量级的脚本语言,我编写了一些简单代码试图向C/C++程序员描述基本的Lua脚本系统使用,涉及: Lua库的使用 Lua基本语法 Lua脚本加载执行 通信:Lua脚本中调用Native函数 通信:Native代码中...
Java编写的Lua脚本引擎,可以用于JME
软件功能:此版本的lua4脚本引擎 注意如果要编译大话西游2.0.78版,需要相应的将src\lopcodes-78.h 改名 lopcodes.h。 版权属于Copyright (C) 1994-2000 TeCGraf, PUC-Rio. All rights reserved. 所有 官方网站:...
运行Lua脚本语句 运行Lua脚本文件 调用 Android API
本文将介绍通过 LUA 脚本设置 4 个系统参数的功能,包括使用按钮设置波特率、使用按钮设置蜂鸣器响、使用按钮设置 RTC、使用滑动条调节背光.
stm32f103移植lua解释器,能够在片上运行lua语言脚本。 欢迎大家下载、学习、交流。