2019年1月11日FacebookTwitterはてブPocketFeedlyどうも、最近ますます腰痛がひどい右近です。今回は前回予告していたとおり、「誘導ミサイル」の作り方を紹介したいと思います。(前回の記事はこちら)[Unity]ホーミングレーザーの作り方(3D)2018.12.28ストーカー反対!右近です。2018】誘導ミサイル完全マスター”という男心揺さぶる「神動画」に出会ってしまいました。出会ってしまったからには作らずにはいられないのが男の性。若干、というかだいぶ動画とは違う実装方法に仕上がっております。2.ミサイル用スクリプトを作成し、ミサイルにアタッチ。ついでにRigidbodyもアタッチ。今回紹介する「誘導ミサイル」の仕様は以下の通りです。・仕組みとしては前回紹介した「ホーミングレーザー」と同じ。・当たるまで追尾しない(一回ターゲットを通り過ぎるとそのままどこかへ飛んでいく)。・正面となる軸を指定する必要がある(後述)一口に「誘導ミサイル」といっても色々な種類があると思うので、一応仕様を書いてみました。2.誘導ミサイルの作り方ここからは、それはもうザックリと作り方を紹介していきます。作業手順1.「ターゲット」と「ミサイル」となるオブジェクトを設置。2.ミサイル用スクリプトを作成し、ミサイルにアタッチ。ついでにRigidbodyもアタッチ。1.「ターゲット」と「ミサイル」となるオブジェクトを設置まずは、適当な位置に「ターゲット」と「ミサイル」となるオブジェクトを設置します。「ミサイル」は3Dオブジェクトの「Capsule」で名前を「HomingMissile」とします。2.ミサイル用スクリプトを作成し、ミサイルにアタッチ。ついでにRigidbodyもアタッチ。次に「HomingMissile」という名前でC#スクリプトを作成します。↓のコードをマルコピしてください。Quaternion.identity;}}}少しクセのある仕上がりとなっているので、スクリプトの説明をさせてください。(update関数内の処理と一部変数については前回紹介した「ホーミングレーザー」と同じなので割愛します)まずは↓の部分についてです。frontAxis;この2つの変数はどの軸を正面としてターゲットに突っ込んでいくか決めるための変数になります。(軸とはx軸、y軸、z軸のことです。Scene画面でオブジェクトを選択すると表示される赤、緑、青の矢印と言ったらほうがわかりやすいでしょうか?)「Axis」にはインスペクター上で「x、y、z」のどれかを入力し、入力した軸を正面にぶっ飛んでいきます。「frontAxis」には後で詳しく説明します。正面とする軸を決める必要があるのかというと、軸を決めないとロケットのように飛んでいかないからです!とりあえずこれを見てください。軸を決めずに飛ばすと、おそらくz軸を正面にして飛んでいくことだろうと思います。(まあ、書き方にもよりますが・・・。)しかし、見てもらったのでわかると思いますが、ロケットならz軸じゃなくてy軸を正面に飛んでほしいですよね!こんなふうに!軸を自由に決められると、アセットストアからもってきたミサイルのオブジェクトの正面がどの軸だろうと問題ありません!ということで、続いて↓の部分の説明です。Quaternion.identity;}}ちょっとあれなので、すごくザックリいきます。着弾時間を過ぎたらターゲットの方向を向く処理を行わないようにするためのif文です。if文の中ではターゲットの方向に向ける処理を行っています。具体的にどんな処理を行っているかというと、まず自分とターゲットとの差分を計算し、適当な変数にぶち込んでいます。その後、switch文で「Axis」の値によって、「frontAxis」に何を代入するかを決めています。(ちなみに、「Axis」の値が「x、y、z」のどれでもないときはログで気づけるようにはなっているはずです。「transform.rotation」を掛けた値を「transform.rotation」に代入することによって、いい感じに指定した軸を正面としてターゲットの方向を向くらしいです。(この処理は↓のサイト様を参考にさせていただきました。ありがとうございます)UnityのLookAt関数を任意の方向に行う後は、移動処理を行っているだけになります。次は、今作った「HomingMissile」スクリプトを「HomingMissile」オブジェクトにアタッチします。(※「Target」には的となるオブジェクトを、「Axis」には正面としたい軸を「x、y、z」で指定してください)そして、「Rigidbody」もアタッチしましょう。Gravity」のチェックは外します。)以上で誘導ミサイルを飛ばす準備は整いました。後は実行して飛ばしましょう!3.おわりに今回はだいぶザックリとですが、誘導ミサイルの作り方を紹介しました。聞きたいことがある人はお気軽にコメントしてください。答えられる範囲で答えさせていただきます。それでは、最後まで見ていただきありがとうございました。「x座標を~にする」ブロックの使い方おすすめの記事WordPress選べないあなたへ!「WordPress」テーマの決め方!どうも、どうも、さすらいのブログライター右近でございます。オラはみんなにスクラッチ(Scratch)を教おしえるためにやってきた「きんた・まりす」だぞ。「まりす」って呼よんでく...闘争の記憶[Unity]アプリをアップデートしたら広告が表示されなくなったので、その時...どうもどうも、最近シェーダーを勉強し始めた右近です。オラはみんなにスクラッチ(Scratch)を教おしえるためにやってきた「きんた・まりす」だぞ。Inc.)を使用しており、AdMobがご利...サイト内検索プロフィール右近どうも、右近です。初めに言わせてください。「ようこそ!」このブログではプログラミング教室を運営するうえで役立つ情報を発信していきたいと思います。アフィリエイトの記事も書きます。なんなんだこいつと思われた人はここをクリックこのサイトについてこのサイトでは、プログラミング教室を運営している人に向け、有益な情報やコンテンツを提供します。アフィリエイト関係の記事もあります。よかったら見ていってね。2.ミサイル用スクリプトを作成し、ミサイルにアタッチ。ついでにRigidbodyもアタッチ。