大家好
新手在玩Unity做一个飞机的游戏, 飞机可以射出飞弹打击目标等等
现在做到一个地方一直卡关, 所以上来请问前辈
是这样的我现在要做一个追踪型的飞弹可以直接追踪目标
2D游戏
从TOP角度来看 右边是+X 往上是+Z
现在有几个情况
飞弹模型刚从网络上抓下来的时候是横的
o======>
我可以比他加入一些要素以后变成Prefab
Prefab也可以转角度
y转-90度可以变成这样(大概看得懂就好= =)
^
i
i
o
之后从Prefab拉近萤幕角度都没问题
因为飞弹本来就是要往上射
但是我在写脚本的时候 可能角度那边一直被搞混
目前是在主角飞机的scripts按下一个键以后 先寻找tag=enemy的敌人
if(target = GameObject.FindGameObjectWithTag("BossEnemy"))
{
Vector3 relativePosition = player_transform.position
- target.transform.position;
//开始生子弹
Instantiate(rocket_transform,
player_transform.position,
Quaternion.LookRotation(relativePosition));
}
我把元素都分行, 希望大家都看的懂
再配合我子弹自己的scripts:
this.transform.Translate(new Vector3(0, 0, -speed * Time.deltaTime) );
到目前为止, 子弹可以生成没错, 轨迹也有自动搜寻敌人的功能
但是为什么子弹就是会一直横的去找敌人飞机啊Q_Q
就是跟一开始模型的rotation一样 不管我Prefab怎么设定都没用...
我试着用this.transform.rotation去改角度, 可是发现越改越乱
不是飞弹自己乱绕就是追踪功能不对
不知道有没有前辈能够指点我一下是我哪边弄错了?
或是我该找哪个方向的资料...
p.s 我有试着执行游戏然后再暂停游戏 去看生成的那些子弹
我想我应该是
物体生成角度 跟 物体本身的角度 搞混了?
因为我看每个飞弹的角度在Y方向加90度就是我要的
可是不知道该在哪边改这个东西
新手发问
请见谅