您项目的主要驱动力由 C++ 创造,因为该语言最有可能为您带来最佳的帧数。
在本章中,我们要接触一个很棒的 Vision 编程功能,即插件。 通过 Vision 插件,您可以拓展 vForge 组件,为实体图形添加新类型的实体类,并为 vForge“运行游戏”模式添加游戏运行功能。 该指南会引导您达到这样的程度:能够通过 Standalone Templates(独立模板)创建第一个独立的、可执行的引擎插件且让其运行。
本章所涵盖的主题:
-
如何使用插件模板
-
设置编译器
-
运行基础独立可执行程序
-
运行引擎插件
-
接下来该做什么
Assets | 项目运行所需的主资源。 包括 vScene,如果使用插件,则也包括插件。 |
Bin | Bin 是发布 / 调试和共享主文件夹所在位置。 初始状态下,该文件夹下只有一个 readme 文件和一个批处理文件。 该批处理文件负责将文件复制到 bin 文件夹下。 见下一章节。 |
Source | 包含所有用于游戏应用程序和游戏插件的解决方案文件,及其相应的 .cpp / .h 文件。 |
Readme | 设置说明文件。 |
模板的设置需遵循以下流程,以确保使用正确和最新的 SDK 文件。
模板项目提供各种配置和平台支持,例如:
-
Debug
-
Dev
-
Release
-
Debug DX11
-
Dev DX11
-
Release DX11
如果您不能确定应使用何种配置,请先从 Win32 Debug 或 Release 开始。
我们先从 Project_Template_Empty 模板开始。 您可以在
<VisionSDK>/Source/Vision/Samples/Templates 找到该文件
1) 在 Project_Template_Empty 文件夹下,您会找到一个 RUN_ONCE.bat 文件(请使用适合您的 Visual Studio 版本的文件,见 readme.txt)。 运行该文件,将所需的最新版本 SDK 文件释放到 Bin 文件夹中。
<VisionSDK>/Data/Vision:常用资源
VisionSDK\Bin 文件夹包含 DLL 文件,在这一示例中,您可以在:
<VisionSDK>/ 和 <VisionSDK>/中找到所需文件
2) 在 Visual Studio 中打开一个 ProjectTemplate.sln 解决方案文件。 如果您不能确定应选择何种配置,请使用 ProjectTemplate_Win32_VS2008_DX9.sln。
您可以在您的 SDK 安装文件夹,即 <VisionSDK>/Source/Vision/Samples/Templates/Project_Template/Source 文件夹下找到该文件。
3) 生成完整的解决方案并运行。
注: 如果您略过步骤 (1),该项目将编译失败
该模板提供了一个平台,让您尝试程序员文档中介绍的各种概念和代码。
标准项目模板提供了使用 Vision 引擎插件系统的示例。 插件提供了让您添加自己的组件和实体类类型的手段,这些组件和实体类类型可以在 vForge 中使用;也可在主项目可执行程序中运行。
插件位于 Bin 文件夹下,可自动载入。
1) 这一次,请定位 Project_Template 文件夹,此外,和上一节所述一样,您需要运行<Root Project folder>/Project_Template/RUN_ONCE.bat中的批处理文件。
注: 如果略过该步骤,编译将失败。
2) 在 Visual Studio 中打开 ProjectTemplate.sln 解决方案文件。 该文件位于 <Root Project folder>/Project_Template/Source 文件夹。
3) 编译解决方案,将新插件文件 GamePlugin.vPluginD 从配置版本文件夹复制到<VisionSDK>/Bin。 例如,如果您使用 win32 调试版本,则游戏插件可在以下文件夹中找到:
Bin/win32_net_9-0/debug_dll/DX9
且必须复制到:
<VisionSDK>/
为了让插件被 vForge 载入,该步骤是必须的(见下一章)。
运行程序。 您会看到插件在屏幕上运行的结果。
4) 打开您的 Templates/Project_Template/Assets 文件夹, 确认文件 vForgeManifest.txt 在该文件夹中。 打开该文件,您会看到如下文本:
[Version 1] LoadEnginePlugin:GamePlugin
当您启动 vForge、打开
Templates/Project_Template/Assets/StandAloneTemplate.project 项目时,这段 vForgeManifest.txt 中的文本会指示 vForge 载入您刚才编译的插件。
1) 选择应用程序,启动 vForge。 请确保您启动 vForge 时的配置与您之前编译和复制 gameplugin 时的配置完全一样。 在本例中,这一配置为 <VisionSDK>/Bin/win32_net_9-0/debug_dll/DX9/vForge.exe
启动 vForge 后,请打开如下项目:Templates/Project_Template/Assets/StandAloneTemplate.project
然后载入默认场景。 您会发现,该插件已为场景添加了若干额外功能: 对象上多了一个计数器和一个文本标签。
留意 myComponent.cpp 文件;该文件负责创建插件的实体组件部分,包含启动、更新和移除的函数。 就和所有模板代码一样,其中有很多注释,能帮助您了解所使用的函数。
控制台操作是可以从游戏内的控制台回调的命令。 按下“~”键可打开控制台,该键位于键盘左上角,在 1 键的左侧。 控制台打开后,键入“myAction”并按回车。
项目模板的 ProjectTemplate/Actions 文件夹中有 TemplateAction.cpp 文件,其中提供了一个示例操作。
我们已经了解如何设置供 Vision 引擎使用的编译器 ,也运行了第一个独立项目,并从所提供的模板中创建了插件,还熟悉了 Vision 编程系统。
本章为上手指南的最后一章。 现在,您已具备足够的知识,可以全面深入地探索 Vision 引擎、运用其强大的功能。 关于这套功能全面的游戏开发工具组所具备的强大能力,本指南只揭示了冰山一角。 还有很多内置工具和功能等待您去发现,这些信息、以及大量其他内容,都可在主文档中找到。
现在,您可以深入 Vision 引擎的世界,开启自己的探索之旅了。
相关推荐
ACE Niagara AX Install & Startup Guide The following mainsections are in this document: • “Overview”on page 1 • “Preparation”on page 2 • “Connect to the JACE”on page 3 • “Run the ...
蓝桥杯智能门锁题目源码 常规C/C++编程 【实例简介】蓝桥杯智能门锁题目源码 智能门锁内涵高级按键代码,比较难的地方注释充分 ├── 智能门锁 │ ├── Listings │ │ ├── STARTUP.lst │ │ ├── iic.lst ...
在编程领域,这种工具被称为源代码转换器或迁移工具,它们有助于开发人员在不同的编程语言之间迁移项目,尤其在有大量现有C++代码而打算采用C#进行新开发时。 描述 "c++ 转换c# 工具" 证实了工具的主要目标是将C++...
- 转换的挑战包括:C#的垃圾回收机制与C++的内存管理不同,C#的面向接口编程与C++的面向对象编程有所差异,以及C#的特性如属性、事件和委托在C++中的实现方式等。 4. **配置文件**: - `Demo C# to C++ Converter...
"startup.bat 闪退问题解决办法" startup.bat闪退问题是Windows操作系统中一种常见的故障现象,特别是在使用Tomcat服务器时。这种问题的出现可能是由于多方面的原因,包括系统配置、环境变量、文件权限、命令语法等...
Filled with insightful case studies, The Startup Equation is a vibrant, practical guide to creating a winning business model for any startup. By following the accessible visual roadmap within, you'll ...
06.侯捷 C++ Startup 揭密:C++ 程序的生前和死后 07.算法原理与实践(选修) 08.系统设计与实践(选修) 09.辅导课 “天龙八部”C++全栈详细目录 (1)\01.侯捷 - C++面向对象高级开发(上下两部曲);目录中文...
C++是一种强大的面向对象编程语言,它允许开发者利用类、对象、继承、多态等特性进行更高效、结构化的编程。将C++应用于STM32F103X可以提高代码的可读性和可维护性,同时降低开发难度。 在使用Keil uVision 4.53这...
startup.sh linux 启动jar包命令startup.sh linux 启动jar包命令startup.sh linux 启动jar包命令startup.sh linux 启动jar包命令startup.sh linux 启动jar包命令
arm的startup.s解析,有详细的注释,适用用于lpc类的 arm
描述中提到"经过检验的4510B的BOOT启动代码,是烧到FLASH里面的呦",这意味着这段代码经过了验证,能够正确引导S3C4510B芯片的启动过程,并且需要被编程到处理器内部的闪存(FLASH)中。Bootloader的主要任务是在...
#### C++ Program Startup and Termination C++程序的启动与终止过程也由标准库处理。程序启动时,系统会执行一系列初始化操作,包括设置全局对象。当程序正常结束或异常终止时,也会执行清理操作,如关闭打开的...
默认情况下,如果不指定任何选项,`STARTUP`命令将执行`STARTUP MOUNT`之后再自动执行`ALTER DATABASE OPEN`,即打开所有数据文件和日志文件,使数据库进入正常工作状态。 命令示例:`SQL> startup` **4. 特殊启动...
`STM32F10x_startup`指的是针对该系列芯片的启动文件,通常以`.s`格式存在,它是微控制器在上电或复位后执行的第一段代码,对整个系统的初始化起着关键作用。 1. **启动文件的作用**: - 初始化堆栈:设置初始堆栈...
标题中的"the-Windows-startup-time.rar_startup"表明这是一个关于计算Windows启动时间的项目,可能包含源代码和相关文档。这个项目使用了VC++作为开发工具,VC++是Microsoft Visual C++的简称,是一个功能强大的C++...
startup.cmd
C++预编译命令详解 预编译命令是C语言和C++语言中非常重要的一部分,它们可以在编译前对代码进行处理和修改,从而影响编译器的行为。本文将详细介绍各种C++预编译命令,包括#pragma指令的多种用法。 #pragma指令 ...
Robotics, Vision and Control Fundamental Algorithms in MATLAB.pdf 是由Matlab的机器人工具箱rvctools的设计者Peter.Corke 编写的机器人学入门手册,其中详细的介绍了工具箱的编成仿真,高清晰度,有目录书签,是...
本文将详细介绍如何使用C++编程语言来创建一个开机启动程序,并探讨操作注册表的相关知识。 一、C++与注册表操作 C++本身并不直接支持注册表操作,但我们可以借助Windows API函数来实现。Windows API提供了丰富的...
startup_stm32f103xb.s