をキャストスペル。私は能力の親である空のゲームオブジェクトを持っています、それはスペルと呼ばれるスクリプトとパーティクルシステムである子供だけを含んでいます。私は簡単にそれがどのできる地面に産卵されたが、現在のプレーヤーオブジェクトのtransform
ユニティ3D私はユニティ3D 5.3.5で働いて呪文を実装するトラブルを抱えている
を指し、この
GameObject castedSpell = (GameObject)Instantiate(Resources.Load("Fireball"), transform.position, transform.rotation);
transform
のようにそれをインスタンス化することができますので、テスト目的のために私は、リソースフォルダに残さ変換からy軸を移動することによって固定され、これはまた時々粒子はプレイヤーと衝突する良いアイデアのように聞こえるしない、と私は画面の中央に十字線への呪文をインスタンス化したい:http://prntscr.com/bx91op十字はオンライン正確テラ内の1つのように動作します - 参照:https://www.youtube.com/watch?v=Jcg4o8IVwlw
私はこの十字線のコピーを持っていますが、私はまだそれに向かって呪文をインスタンス化する方法を知りません。呪文がぶつかったら、何かダメージを与えるなどしなければなりません。私は、パーティクルシステムは、衝突の性質を持っていることを見ても、イベントトリガー
private void OnParticleCollision(GameObject other)
が、私はメインのパーティクルオブジェクトhttp://prntscr.com/bx9356にそれを取り付けたとき、これはまったく機能していないようです。私の選手オブジェクトにはPlayArea
のレイヤータグがあります。この特定のタグと衝突しないようにcollisionプロパティを設定すると、プレーヤーの内部でまだ変更されることはありません。だから、私の質問の短い要約:
- 適切に呪文をインスタンス化する方法は?
- それを回転させてスクリーンの十字線に向けるにはどうすればいいですか?
- 特定のオブジェクトとの衝突を防ぐにはどうすればよいですか?
- 衝突が発生したときの確認方法は?あなたの質問のほとんどは、すでに私は、NRに取り組むだろうコメントで回答されているので
(だけ...あなたのカメラと文字の間に壁やオブジェクトについて注意してください)。これは、プレイヤーオブジェクトの起源に依存します。通常は、開始位置として機能し、適切に配置された空のゲームオブジェクトを使用します(たとえば、銃の前に)。あなたの場合、これはプレーヤーの手元にあるかもしれません。特定のオブジェクトとの衝突を防ぐために、さまざまなものを使用できます。層またはタグ。そして衝突は、 'OnCollisionEnter'のような関数で検出できます。 –
方向については、私は 'transform.position.forward'のようなものを示唆します。ここで、transformはプレーヤーを指します。回転はそれに応じて選手の回転でなければなりません。 –
http://wiki.unity3d.com/index.php/ShootingWeaponScript –