unity space shooter 教程中的敌人怎么设置

给我们留言
地址:福建省晋江市青阳街道洪山路国际工业设计园纳金网
电话: 400-067-3919
(周一到周五, 周六周日休息)
1 第1页 | 共2 页
查看: 1822|回复: 19
最后登录注册时间阅读权限100积分71333
纳金币59329 精华20
本帖最后由 艾西格亚 于
06:12 编辑
Realistic FPS是一个专门用来开发第一人称射击游戏的插件,对于开发者来说,这套插件提供了非常完善的武器与敌人布置的系统,可以在极短的时间内将游戏的原型制作出来,并将其应用在不同风格的射击游戏上面。
!!Realistic FPS 插件下载位置:
现在我们来示范一下如果在场景内布置敌人的巡逻点(Waypoints), 如图所示,场景内是已经导入的地形与环境,如果手上没这方面资源的话,可以先用一个预置的地形或是地面来做练习即可。
12:04 上传
首先建立一个新的Game Object,然后将其更名为Enemies。
12:04 上传
继续建立两个新的Game Object,分别命名为!!Waypoints与Group1,其父子阶层的关系如图:
12:04 上传
在Realistic FPS的目录下找到~RobotNPC &!Object&Waypoint的预置物件。
12:04 上传
将Waypoint(白色方块)拖曳三个到场景内并排放成类似三角形的位置,如图所示:
12:04 上传
接下来将这三个Waypoint拖放到Group1的层级下,在这里我们对照一下Enemies底下的阶层关系。
12:04 上传
设置完成Waypoint的阶层后,分别对Group1底下的Waypoint进行群组与编号的设置,如图所示,将Wayppoint Group 设置为1,表示,Number分别是1-3,这是因为Group1底下有三个Waypoint。
12:04 上传
在这个阶段我们只用了三个Waypoint,也就是将敌人的巡逻范围规范在这个区域内,如果有需要的话,可以根据地形来设置更多的Waypoint。
接着将FPS Player Main(玩家)以及RobotNPC(敌人)添加到场景内,如图所示:
12:04 上传
然后将RobotNPC摆放到Waypoint的里面,表示游戏开始的时候,敌人是在这个三角区域内进行巡逻的动作。
12:04 上传
选择RobotNPC, 在AI的脚本内找到My Waypoint Group的栏位,将其数值设置为1,表示这个NPC是根据Group1里面的Waypoint位置进行巡逻。
12:04 上传
按下Play进行测试,现在RobotNPC在游戏的一开始就会在我们设置的Waypoints里面进行巡逻,等到玩家靠近到一定的距离时就会发动攻击。
12:04 上传
12:04 上传
在RobotNPC的AI.js脚本里面可以查看到几个关键的设置,包含NPC的移动与旋转速度,targetPlayer默认为自动搜索玩家如果设置为false则表示这个NPC不会对玩家进行攻击。另外几个比较主要的设置可以根据情况进行调整,例如attackRange用来设置NPC对玩家的侦测距离,shootRange则是在距离多少米之后进行对物件进行攻击。
其他的一些参数设置,可以依据游戏的要求来调整就行了。
12:04 上传
了解基本的参数设置后,现在我们希望在场景内添加另一个RobotNPC进行巡逻,操作的方式与前面步骤一样,新增一个GameObject, 将其更名为Group2后拖曳到!!Waypoints里面,然后再将~RobotNPC &!Object&Waypoint的预置物件添加进来。
12:04 上传
这时要注意的是Group2里面的每一个Waypoint设置,如图所示,将这三个Waypoint Group设置为2, Number同样的是1-3的数值。
12:04 上传
设置完成数值与摆放的位置后,将第二个RobotNPC添加进来,然后在AI.js的脚本内将My Waypoint Group设置为2即可。
按下播放,现在另一个RobotNPC即可在另一组Waypoints进行巡逻的工作。
12:05 上传
12:05 上传
在运行测试的时候,我们会发现玩家是赤手空拳的,这是因为此插件默认的设置是让玩家在场景内拾取攻击用的武器,如果希望玩家在一开始就有几种武器的话,可以在FPS Weapons里面先找到武器对应的名称,然后再勾选Have Weapon即可。
12:05 上传
如图所示,武器自带的脚本 - Weapon Behavior里面提供了多种参数让玩家可自行调整配置的火力。
12:05 上传
勾选Have Weapon之后,运行游戏时就能以滚轮来切换各种类型的武器。
12:05 上传
更多的Unity技术交流与分享请加入:纳金网Unity论坛专属交流群 -
最后登录注册时间阅读权限90积分31520
资深设计师, 积分 31520, 距离下一级还需 18480 积分
纳金币32317 精华75
很不错的教程,这个设置很容易就理解的说
最后登录注册时间阅读权限90积分40069
资深设计师, 积分 40069, 距离下一级还需 9931 积分
纳金币25242 精华16
我想知道如何更换NPC,不要用自带的机器人
最后登录注册时间阅读权限30积分720
初级设计师, 积分 720, 距离下一级还需 280 积分
纳金币339 精华0
!!Realistic FPS 插件在导入时报错,导入不了,插件不是在中文路径,要怎么做啊?
最后登录注册时间阅读权限100积分71333
纳金币59329 精华20
PegSan_Li 发表于
!!Realistic FPS 插件在导入时报错,导入不了,插件不是在中文路径,要怎么做啊? ...
确认一下你的Unity版本,另外就是重新建一个项目再导入试试
最后登录注册时间阅读权限20积分142
设计实习生, 积分 142, 距离下一级还需 358 积分
纳金币9 精华0
最后登录注册时间阅读权限30积分720
初级设计师, 积分 720, 距离下一级还需 280 积分
纳金币339 精华0
艾西格亚 发表于
确认一下你的Unity版本,另外就是重新建一个项目再导入试试
是4.2版本的,不管用新建的项目还是已有场景的项目都是会在导入的时候中断,然后就打不开了。
最后登录注册时间阅读权限100积分71333
纳金币59329 精华20
PegSan_Li 发表于
是4.2版本的,不管用新建的项目还是已有场景的项目都是会在导入的时候中断,然后就打不开了。 ...
好的,会确认一下附件是否有问题
最后登录注册时间阅读权限30积分720
初级设计师, 积分 720, 距离下一级还需 280 积分
纳金币339 精华0
艾西格亚 发表于
好的,会确认一下附件是否有问题
请问怎么才能卸载干净unity?网上说需要用Gnome3的。。?
最后登录注册时间阅读权限100积分71333
纳金币59329 精华20
PegSan_Li 发表于
是4.2版本的,不管用新建的项目还是已有场景的项目都是会在导入的时候中断,然后就打不开了。 ...
试过在4.2.1下安装没任何问题的,你是否换个4.2.1或是4.2.2版本试试
1 第1页 | 共2 页
活跃且尽责职守的版主
站长推荐 /1
纳金名模第126期双人沙发3d模型:数量100个,大小为1.1GB。完全免费下载哦!这样的福利我和我的小伙伴们都惊呆了!!下载地址:
400-067-3919
Powered by - X2.5
Narkii Inc.Unity官方实例教程 Space Shooter(三) | Imagination中文技术社区新手求助,官方教程space shooter_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:59,124贴子:
新手求助,官方教程space shooter收藏
我的子弹的运动方向一直是y轴。。。。。子弹的重力已经勾掉了,speed调0子弹就不动了,speed调负子弹就往上飞。
火星时代unity3d,争当游戏大触,月薪过万小意思,手绘技能,概念设计,商业应用一步到位,你与u3d游戏特效设计师只差一步,赶快点击吧!
你不是X轴旋转了90度吗
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或热门文章最新文章Unity3D(3)
我觉得这个教程对我最大的启发就是其中的一句话, 子物体是贴图,父物体是属性。所以我们在创建物体前最好先建立一个空的gameobject,
这样既可以保持hierarchy面板整洁便于管理,又能实现刚才说的话。好了, 下面步入正题。
如何创建一个子弹?
我们先创建一个平面,然后将子弹的贴图赋给这个平面,然后再将shader选项选中mobile的particles的additive,这样就只有激光那部分可以显示出来,
黑色部分就会小时,最后在给子弹添加rigidbody组件和capsule Collider组件,这样子弹就完成了。
如何让子弹前进?
直接在子弹z轴方向给一个初速度就好了
using UnityE
using System.C
public class BoltMove : MonoBehaviour {
// Use this for initialization
void Start () {
rigidbody.velocity = transform.forward *
如何让子弹按一定频率发射?
void Update(){
//在固定的时间段生成一个物体
if (Time.time & nextFire) {
nextFire = Time.time + fireR
Instantiate (shot, shotSpawn.position, shotSpawn.rotation);
}shotSpwan.position是飞船的位置,fireRate就是我们想要的频率
如何将飞船的移动限制在一定范围?
这里我们需要用到一个函数mathf中的Clamp
using UnityE
using System.C
[System.Serializable]
public class Limit{
public float xMax,xMin,zMax,zM
public class PlayrControl : MonoBehaviour {
public GameO
public Transform shotS
void FixedUpdate(){
float x = Input.GetAxis (&Horizontal&);
float y = Input.GetAxis (&Vertical&);
Vector3 movement = new Vector3 (x, 0.0f, y);
rigidbody.velocity = movement *
rigidbody.position = new Vector3
Mathf.Clamp(rigidbody.position.x, limit.xMin, limit.xMax),
Mathf.Clamp(rigidbody.position.z, limit.zMin, limit.zMax)
rigidbody.rotation = Quaternion.Euler (0.0f, 0.0f, rigidbody.velocity.x * -tilt);
当子弹和陨石飞出边界时如何销毁?
这里我们需要一个大的Cube将我们游戏场景围起来,然后给Cube添加一个Box Collider组件,然后检测如果有物体离开触发器,销毁就好了
void OnTriggerExit(Collider other) {
Destroy(other.gameObject);
子弹与陨石碰撞或者飞船与陨石碰撞,如何同时销毁且产生爆炸效果?
void OnTriggerEnter(Collider other) {
if (other.tag == &Boundary&)
if (hard == 2) {
Instantiate (explosion, other.transform.position, other.transform.rotation);
Destroy (gameObject);
gameControl.AddScore(scoreValue);
if (other.tag == &Player&) {
Instantiate (player_explosion, other.transform.position, other.transform.rotation);
Destroy (gameObject);
gameControl.gameOver =
//Debug.Log (other.name);
Destroy(other.gameObject);
}我解释一下,&if (other.tag == &Boundary&)因为这个函数是当进入触发器时执行,但是我们的陨石一直在Cube的触发器中, 所以我们要排除Cube的干扰
Instantiate (explosion, other.transform.position, other.transform.rotation);这句话就是在子弹当前位置产生一个爆炸效果物体
如何一波一波的生成敌人?
void Start(){
StartCoroutine(SpawnWaves ());
IEnumerator SpawnWaves(){
while (true) {
yield return new WaitForSeconds (startWait);
for (int i = 0; i & hazardC i++) {
Vector3 spawnPositoin = new Vector3 (Random.Range (-spawnValues.x - 3, spawnValues.x - 3), 0, spawnValues.z);
Quaternion spawnRotation = Quaternion.
Instantiate (hazard, spawnPositoin, spawnRotation);
yield return new WaitForSeconds (spawnWait);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:30597次
排名:千里之外
原创:55篇
(3)(1)(2)(1)(2)(2)(1)(2)(10)(4)(23)(7)

我要回帖

更多关于 space shooter 的文章

 

随机推荐