`
plmkome
  • 浏览: 44212 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

vision 引擎 游戏对象 实体

 
阅读更多

引言

实体是放置在场景中的非固定可编程对象,由位置、朝向和其他实例属性定义,可表现场景中需要的很多对象。 具备几何网格的实体被用作动画或非动画的场景几何元素,例如角色、树木、椅子等。 而不带模型的实体可用作隐形触发器、AI 节点等。

例如,实体可附带 .model 文件,代表您的玩家角色,具备完整的动画和移动;也可表示一扇通过触发框触发开启的门。

实体行为可通过为实体图形指定实体类来创建,从而为您的场景实现游戏逻辑代码。 vForge 自带一系列可在项目中即开即用的预定义实体类,每个实体类都提供扩展属性,让您在 vForge 中改变实体类的行为。

 

还可用 C++ 编程创建用户定义的实体类,让您在 vForge 中添加自定义行为,供团队使用。 这些自定义实体类必须编译入一个编辑器和引擎均可加载的实体插件。

 实体图形

实体图形位于对象图形组,从图形创建面板将实体图形实例拖拽到场景中即可完成添加。 

 实体 *.Model 文件

实体可带有关联的 .Model 文件,将该文件添加到实体 ModelFile 属性即可。

如果您在场景中使用该实体的多个实例,每个实体都会共享同一个模型几何体,从而有相同的外观,但可以通过如下属性实现差异化: 

  • 位置、旋转和缩放比例
  • 实体位置的光照状态(光照网格光照)
  • 当前动画状态

注: 尽量使用静态几何网格实例而非静态实体: 相比实体,静态几何网格实例对性能和内存的负担通常较小,因此场景中一切肯定不会移动的对象都应优先使用静态几何网格实例。

 实体碰撞

默认设置下,实体不会与环境进行物理和碰撞互动。 为实现这种互动,必须为实体创建一个物理对象。 碰撞、重力、摩擦等实体物理行为需通过该物理对象设置。

 

通过 Havok™ 刚体组件的组件系统,可轻松为实体添加物理属性。

 实体选项

为了最大限度地发挥该图形类型的功效,除了缩放比例、位置等基本属性,还有一些您需要了解、也值得提及的实体属性: 

  Entity class(实体类):

实体类是该实体实例的引擎类型。 通过引擎自带的实体类,我们可以看到,选择不同的类,该图形会有不同的表现。 可通过 C++ 创建用户实体类,并以插件形式添加到 vForge 中。

  • VisBaseEntity_cl - 默认的实体基底类。

 

  • TriggerDoorEntity_cl - 简单的触发器门类,可在触发事件中补偿位置。 在科幻场景中大量使用。 该实体类的实例配有两个触发器目标组件,所以能够在 vForge 中通过可见直观的方式与触发框链接。
注: 现在,为您的实体添加物理属性的优先选择是通过组件系统为该实体添加新增的”Havok 刚体”组件。

  实体属性:

根据所选中的实体类,该选项额外提供若干类专有的扩展参数。 在 C++ 中创建用户自定义实体类时也可定义这些属性。

 

以下图片显示了选中TriggerDoorEntity_cl 类时的扩展属性: 

  光影:

这部分属性负责一些基本的光照信息,包括启用对象阴影。

  • CastDynamicShadows(投射动态阴影): 该选项决定了该实体是否会投射来自动态光照或启用阴影贴图的静态光照的动态阴影。
  • CastStaticShadow(投射静态阴影): 这一勾选项决定了该实体是否被纳入 vLux 静态光照计算(光照贴图)。
  • LightInfluenceBitMask(光照影响位元蒙版): 位标记过滤蒙版,决定了哪些动态光源影响该实体。 另见动态光照 ObjectInfluenceBitmask(对象影响位元蒙版)属性。 (不支持延迟光照。)

 

  • AmbientColor(环境色): 定义单个实体的环境色。

  实体相关操作菜单

和所有图形一样,实体有其自己的相关操作菜单,选择实体图形并打开 点击鼠标右键 → 相关操作 →

Random Yaw(随机平摆): 让实体绕 Z 轴(垂直轴)旋转

Shape Name as Key(设图形名称为键名): 将实体的 ObjectKey(对象键名)值设为该对象名称。

Set Lightgrid offset(设置光照网格补偿): 将光照网格轴点设为中心点、框中心或框底中的一项。

Shaders(着色器): 选中当前模型材质,用于在材质面板中进行编辑。

Convert to(转换为): 将该模型转换为静态几何网格图形。 项目资源文件夹中必须有该模型的静态几何网格图形,因为无法将模型直接转换为几何网格。

 

Open in vModelViewer(在 vModelViewer 中打开): 启动 Vision 模型查看器,提供关于实体模型文件的详细信息。

注: 如果您不指定 ModelFile(模型文件),实体相关操作菜单中的一些选项将不可见。

转摘:http://www.anarchy.cn/portal.php?mod=view&aid=49

分享到:
评论

相关推荐

    opencv坦克大战

    这个目录可能包含了项目的各个模块,如游戏引擎、图像处理代码、音频处理代码、游戏逻辑代码等。每个子目录或文件对应着游戏的不同部分,例如"src"目录可能存放源代码,"res"目录可能存储资源文件,"bin"目录则包含...

    Fundamentals of Artificial Intelligence.pdf

    这通常包括识别关键实体(如人名、地点、组织)、发现实体间的关系、抽取时间、事件以及其他有用信息。信息抽取技术在知识管理、商业智能和各种分析任务中扮演着重要角色。 书籍的作者K.R.Chowdhary来自印度的...

    基于Python实现对图像识别和关键字查找.zip

    OpenCV(Open Source Computer Vision Library)提供了许多图像处理和计算机视觉的函数,包括图像读取、显示、变换以及复杂的特征检测。Pillow则是一个更加用户友好的图像处理库,适合简单的图像操作。 3. **光学...

    Model Scene Editor-开源

    在3D建模中,纹理是应用于模型表面的图像,多边形是构成3D形状的基本元素,而实体则是由多个多边形组成的对象。 7. **engine.pas**:可能是光线追踪引擎的实现,包含了光线与场景交互的算法,如光线投射、阴影计算...

    PovMorpheus-开源

    PovMorpheus是一款专门针对PovRay渲染引擎设计的开源软件,它致力于帮助用户在多个PovRay文件之间进行平滑的变形操作,从而实现3D动画的创建。PovRay,全称为Persistence of Vision Raytracer,是一款强大的基于光线...

    AKKA (java) 精讲

    Camel 是一个基于路线和端点的规则引擎,这部分讲解了如何在 Akka 中使用 Camel。 #### 7. Utilities 这部分介绍了 Akka 提供的一些实用工具,包括事件总线、日志记录、调度器等。 #### 8. How To: Common ...

    基于java SpringBoot框架的旅游系统旅游网设计.zip

    5. **数据访问对象(DAO)**:使用JPA或MyBatis等框架与数据库进行通信。 6. **实体类(Entity)**:映射数据库表,用于数据存储。 7. **模板引擎(Thymeleaf或Freemarker)**:生成动态网页内容。 8. **配置文件...

    基于SpringBoot的拍卖系统.zip

    6. **实体类**:表示数据库表的Java对象。 7. **安全配置**:如果使用Spring Security,会有相应的安全控制类和配置。 8. **模板文件**:用于渲染视图,如HTML页面。 该拍卖系统可能还涉及以下技术点: - 使用Maven...

    毕业设计:基于SpringBoot的在线教育系统.zip

    2. **实体类**(Entity):用于数据库模型,如User、Course、Lesson等,映射到数据库表。 3. **控制器**(Controller):处理HTTP请求,负责业务逻辑的转发。 4. **服务层**(Service):实现业务逻辑,调用DAO层...

    Akka Java文档

    - **Actors**:代表系统中的实体,它们通过消息传递进行通信。 - **Supervision**:一种用于处理故障和恢复的机制。 - **Cluster**:支持分布式应用的功能。 ##### 1.4 必不可少的 HelloWorld 示例 通常,Akka 的...

Global site tag (gtag.js) - Google Analytics