開発記録さて、前回はレーザーを撃てたので、今回はこれをホーミングさせます。先にホーミングな動画を御覧ください。ホーミングレーザー作ってみたテスト自機に見立てた青い三角が左右に移動したときに、レーザーが曲がって襲ってくるという動画でございます。d・・・というような計算でやっていたのですが、さすがUnity様は簡単にできます。・まず、弾自体を前に進ませるという事で、スプライトをTranslateで移動させます。(座標変更での移動ではダメです)以下はY軸だけを変更しているので、上下に直線移動します。)これに、回転運動を追加すれば追っていくようになります。それにはターゲットとなるゲームオブジェクト(今回の場合は自機)が必要となりますので、TARGETに指定してください。以下のコードを呼び出します。TARGET(自機)とthis(レーザー)の距離を計算し、それに合わせてthis(レーザー)を回転させるという事をしています。前進と回転を別個にした方が扱いやすいです。この回転をUpdateから呼べばホーミングし、呼ぶのをやめれば直進で進む事になります。レーザー出現後の2〜3秒間の間は前進と回転を両方行い、その後は前進だけとすると、自機からレーザーがそれるのでプレイヤーが「よーし回避できた!」となって面白いかなと。しないと回避不能な気がします・・・。このコードの弱点はレーザーが曲がる角度の限度を決めていないという事です。180度でも曲がってしまいます。本気を出すのでしたら、レーザーが曲がる角度の限度を時間がたつにつれて小さくするという手法をとると、ホーミング性能がすこしづつ甘くなるという事も表現できるかと思います。ちなみに、弾が生成されたタイミングで1回だけ回転を行うようにすれば、狙った場所に向かって一直線にすすむ弾となります。(デモ動画でのオレンジの弾はそうしております)はい、Unityによるホーミングレーザー(的な表現)ができました。他にもやり方はあるでしょうけれども、これは2Dレーザーのシンプル版と思っていただければと思います。・ホーミングレーザーなんていう表現は自分には無理だからせめてホーミングミサイルを作ってみようというところから始まりました。思い調べてみた次第です。月別アーカイブはてなブログをはじめよう!jeffry1461さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。