Unity人工智能实战(原书第2版)
上QQ阅读APP看书,第一时间看更新

1.13 射击抛射体

本节是控制依赖重力的对象(比如球体和手榴弹)的场景的基础,这样就能够预测抛射体的着陆点,也可以有效地射击针对给定目标的抛射体。

准备工作

本节介绍的方法稍有些不同,因为它不依赖于基类AgentBehaviour

操作步骤

1. 创建Projectile类及其成员变量,以便操作物理行为:

2. 定义Update函数:

3. 实现Set函数,以便射击游戏对象(例如,当这个对象在场景中实例化后调用此函数):

运行原理

此行为使用高中物理知识来产生抛物线运动。

延伸阅读

我们还可以用使另一种方法:不调用Set函数,而是在脚本中实现公有属性,或者把成员变量声明为公有的,在预制件中把脚本设置为默认禁用,在所有属性都初始化后再启用。这样就可以轻松地使用对象池模式了。

其他参考

关于对象池模式的更多信息,请参阅维基百科上的文章和Unity公司的官方视频教程,链接如下:

http://en.wikipedia.org/wiki/Object_pool_pattern

http://unity3d.com/learn/tutorials/modules/beginner/livetraining-archive/object-pooling