`
projectanarchy
  • 浏览: 14789 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Vision引擎组建系统中Lua 脚本与跟随路径介绍

阅读更多
组件 - 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)的朝向补偿
转自:project anarchy中文社区 http://www.anarchy.cn/portal.php?mod=view&aid=70
分享到:
评论

相关推荐

    游戏引擎HGE结合Lua脚本 教程.zip

    游戏+lua脚本”和“3.Lua使用入门”可能是综合性的介绍,涵盖了游戏开发中的Lua脚本应用以及如何开始使用Lua的初级指南。 综上所述,这个压缩包提供的资源全面覆盖了从Lua语言基础到HGE游戏引擎的结合应用,是学习...

    visual c++ HGE游戏引擎+Lua脚本的结合使用.zip

    《Visual C++与HGE游戏引擎与Lua脚本的整合应用》 在游戏开发领域,高效的游戏引擎和灵活的脚本语言是不可或缺的工具。Visual C++作为一款强大的编程环境,常常被用于游戏的底层系统构建,而HGE(Happy Game Engine...

    Lua脚本在游戏引擎中的应用

    通过堆栈来实现引擎与Lua脚本之间的信息传递,这一中间层的设计允许引擎调用Lua脚本中定义的函数,同时也允许Lua脚本调用引擎中定义的功能函数。这种机制的一个显著优势是,可以在不改变引擎核心代码的前提下,增加...

    window系统 Lua脚本语言编译器

    如果将`lua.exe`放在系统的PATH环境变量中,那么你可以在任何目录下直接运行lua命令来启动它,无需每次都指定完整路径。 `lua54.dll`是Lua运行时库,它是Lua引擎的核心部分,包含了执行Lua字节码所需的所有函数和...

    LUA脚本|LUA脚本支持库

    在"易语言LUA支持库100版LUA_FNEfne"和"新LUA支持库100版LUA_FNEfne"这两个文件中,我们可以推测它们是为LUA脚本设计的专门库,可能包含了一系列与易语言(E Language)接口的实现,或者是对LUA功能的增强和优化。...

    lua脚本执行行数和次数统计Dll

    Lua是一种轻量级的脚本语言,常用于游戏开发、嵌入式系统和服务器配置等领域。在编程过程中,为了优化代码性能,理解脚本的执行情况是至关重要的。"lua脚本执行行数和次数统计Dll"就是这样一个工具,它能够帮助...

    Lua脚本语言在自动测试中的应用

    6. **组件化**:在Test er系统中,通过Plugin机制,每个功能的添加只需编写单独的C/C++或Lua库,实现了模块化的组件设计,提高了代码的复用性和系统的灵活性。 尽管存在如Perl、Tcl、Ruby、Python等其他脚本语言,...

    基于串口屏LUA脚本—系统参数设置功能V1.0.pdf

    在描述部分,文档详细介绍了通过LUA脚本实现设置四个系统参数的功能:设置波特率、设置蜂鸣器响、设置RTC(实时时钟)和使用滑动条调节背光。这些功能的实现对于设备的基本操作是至关重要的,能够帮助用户根据需求...

    delphi调用lua脚本的一个例子

    在本文中,我们将深入探讨如何在Delphi编程环境中调用Lua脚本,以实现更灵活的逻辑处理和功能扩展。Delphi是一款强大的Object Pascal集成开发环境(IDE),而Lua则是一种轻量级、高效的脚本语言,常用于游戏开发和...

    lua脚本问文件哈哈哈

    lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问...

    STM32F103 运行lua脚本例程.rar

    在本例程中,STM32F103被用于运行Lua脚本,这是一种轻量级的、可嵌入式的脚本语言,通常用于游戏开发、自动化任务和快速原型设计。 Lua的移植意味着将Lua解释器的源代码修改和编译,使其能在STM32F103的硬件平台上...

    Java调用Lua脚本(LuaJava使用、安装及Linux安装编译)

    本文将详细介绍如何在Java环境中使用LuaJava库进行交互,并在Linux系统上进行安装和编译。 首先,让我们理解LuaJava。LuaJava是一个开源项目,它提供了一个Java接口,使得Java程序能够直接调用Lua脚本并执行,同时...

    基于Lua脚本语言的嵌入式UART通信的实现

    "基于Lua脚本语言的嵌入式UART通信的实现" ...本文还介绍了Lua如何服务于串口通信的应用,包括Lua与C交互环境的建立、提取脚本中的串口配置数据、调用Lua函数设置发送缓冲区、通过Lua函数处理接收缓冲区数据等方面。

    lua脚本源码包

    Lua是一种轻量级的、可扩展的脚本语言,它被广泛用于嵌入式系统开发,游戏开发,服务器管理等领域。这个"lua脚本源码包"提供了lua在嵌入式开发中的应用实例,特别适合那些希望学习如何在Windows XP环境下,使用...

    一个用lua写的游戏脚本实例

    "游戏脚本设计与实现" ...从提供的游戏脚本实例中,我们可以了解到游戏脚本设计的基本结构、游戏任务的设计、游戏机制的实现、游戏逻辑的编写、lua语言在游戏脚本中的应用、游戏脚本的优化和游戏脚本的测试等知识点。

    Lua 脚本

    Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。 Lua由...

    Jill——Java编写的Lua脚本引擎

    **Jill:Java中的Lua脚本引擎** Jill是一个用Java语言实现的Lua脚本引擎,它为Java应用程序提供了一种高效且灵活的方式来运行Lua代码。Lua是一种轻量级的、解释型的脚本语言,因其简洁的语法和强大的功能在游戏开发...

    LUa脚本编辑器

    6. **使用场景**:Lua脚本编辑器适合各种使用Lua的场合,如游戏开发中的逻辑编写、自动化脚本的编写、系统管理脚本等。 7. **学习与进阶**:学习使用Lua脚本编辑器,不仅可以提高编程效率,还能深入了解Lua语言的...

Global site tag (gtag.js) - Google Analytics