欢迎各界人士光临! 这将是关于Unity和AR的最后一课要求的职位,但可能不是最后一课。
我敢说,对于你们中的那些人, 有幸成为我的演示文稿和AR Waifu Simulator教程构建演示文稿的一部分,您都对Unity的基本知识有了一般的了解,可以使用预制件,将模型附加到平面上对象,并为模型渲染一个基本的动画循环(昵称Unity Chan)。 现在,我们一起完成的项目本质上非常简单,之所以选择它是出于以下几个原因:
第一名-在课堂上我很容易示范。
第2点-它简要介绍了构建(在Unity中)AR卡游戏所需的所有组件。
对于那些不为人所知的人,那里有众多的纸牌游戏,其中包括构建牌组,特定或高度关联的纸牌,并在这些纸牌被使用后对其进行操作(称为“轻击”)。 通过在特定方向(通常为90度)上移动卡,可以在板上显示这些操作。
对于初学者,我指的是像《 魔术:聚会》这样的纸牌游戏。 在游戏中,每张卡都是唯一的。 它们具有独特的艺术,独特的属性(进攻性和防御性统计数据),还可以选择具有其他属性,这些属性在发生某些其他动作或事件时是被动或主动或触发的。 当然,还有许多更复杂的规则,但这是游戏的基本要旨。 样本卡如下所示:

现在以编程方式来讲,在我们的集体驾驶室中为MTG之类的游戏创建纸牌对象是正确的。 可以轻松定义属性,可以在发生某些操作或可以使用侦听器时通过观察者/可观察模式触发事件。 在我们当前的背景下,这是一个有趣,复杂而有趣的挑战,那就是拿起这款游戏并将AR动画叠加在每张唯一的卡片上,这样,如果有2位用户戴着耳机玩纸牌游戏,那么独特的动画就会触发在每个特定事件开始时。
因此,既然设置已经完成,我想使用该网站资源来推测如何使用Vuforia AR SDK在Unity中轻松完成此高级项目(将MTG转换为基于AR的游戏)。 请记住,这是我们的目标:

正如我在课堂上演示的那样,在卡上渲染对象非常简单。 拍照,将图片上传到将用于应用程序的Vuforia数据库,并导入该数据库以在创建应用程序时使用它。 在Unity中时,请使用Vuforia图像预制件,并在预制件上设置图像变量以利用所述卡拍摄的照片。 在那里,您已经为AR对象设置了渲染平面。
现在,该项目最困难的部分将是获取3D模型和渲染的艺术作品……实际上,其中最困难的部分将不会因侵犯版权而受到起诉,但可以说,在此假设中,我们拥有所有艺术品和所有艺术品我们要求的已签署的法律文件。
要渲染图像,我们将模型加载到场景中,将其位置设置为出现在场景中卡/图像预制件的上方,最后,使该模型成为卡的子代。 实际上,将图像设为卡片的子代实际上会导致该子模型在每次播放特定的卡片或出现在相机之前时都呈现。 现在可以一次又一次地重复此过程,直到所有图像和模型都放置在正确的对应部分上。
现在,纸牌被播放,图像被渲染,但是那又是什么呢? 这些图像没有任何作用,它们没有任何上下文动画,哎呀,它们甚至都不了解游戏规则或它们在游戏中的位置。 那么我们该如何解决呢? 在这种情况下,我们将做所有程序员要做的事情……写一些代码!
首先,我们需要在C#中创建一个类,因为这是Unity使用的语言,才能为所有卡创建基类。 此类将包含一个Vector3属性,该属性表示3个方向空间中的图像位置,以及一个Animator变量,该变量代表我们最终将为每个单独的模型/卡设计的动画控制器。 此基类还将包含一个抽象/可重写方法,当Vector3属性更改时,该方法将在每个子类中调用私有方法-这意味着,如果图像在3D现实世界空间中发生更改以符合特定方向,则子类将私有内部方法将被称为。
对于每个唯一的卡/子类,必须使用每个卡具有的参数和属性来初始化它们-犯罪程度,防御程度,它们具有哪些被动能力,它们具有哪些静态能力,其特定的动画控制器等一旦分配并初始化了所有正确的属性,就必须编写当卡在3D空间中更改位置时调用的方法。 这些方法将设置卡的状态并播放与该状态相对应的动画……然后! 我们的理论卡已经设置好! 请注意:即使使用接口来表示被动能力或状态,为每张卡片编写每个单独的类也会花费大量的工作。
好吧,假设我们已经设置好图像,编写了所有脚本(我们要做的就是将正确的脚本添加到Unity中的相应图像中-简单的拖放组件操作),但是什么可以控制一切呢? 确保遵守规则,确保玩家有适当的生命,按预期死亡的方式等等……那么,这就是我们编写GameManager脚本的地方。
Unity中的GameManager脚本是特殊的脚本,在初始化时会优先处理。 在这里,我们将编写所有规则和状态更新以及控制实际游戏的方法。 编写完此代码后,我们将在场景层次结构中创建一个空的GameObject,并为其附加GameManager脚本。 从理论上讲,它应该起作用!

好吧,这是我真正设想的向前发展的项目……不使用MTG资产,因为那将是侵犯版权,我不会这样做……

a,我们在这里,结束了。 这样就结束了我有关AR和Unity的博客……或者是……也许是……或者是……