質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

4回答

1327閲覧

ホーミングする弾幕が曲線を描くようにしたい

Rei_312

総合スコア24

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/09/12 13:06

前提・実現したいこと

C#を使用してゲームを作っています。
ホーミングする弾幕が敵まで最短距離で移動するのではなく
曲線を描きながらホーミングするようにしたいです。
実装に使える計算や参考になるサイトなどがあれば教えていただきたいです。

現在使用している(最短距離でホーミングする)コード

C#

1Vector2 vec = Vector2(X - target.X, Y - target.Y); 2vec = vec.Normalize(); 3vec *= Speed; 4PosVector += vec; 5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

始点と終点を結ぶ線分をX軸とし、その中点(X=0)にY軸をとり、始点と終点の間で適当な頂点Y高さの放物線の式を作ってみる。

投稿2021/09/17 05:48

mike

総合スコア118

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2021/09/17 06:16 編集

X軸と直交するY軸を使うのではなくて, ホーミング弾の初速ベクトル(を適当にk倍したものとか) を使うとそれっぽいかもしれない. (直交する軸で考えた放物線をそのように変形させるか,あるいは3点でベジェにでもするか) #個人的に,ホーミング弾みたいなのは相手の動き次第では外れてほしいから,その場合は何かしらの「手加減」が必要そう.
mike

2021/09/22 06:18

あぁコメント頂いていたのですね。 展開ありがとうございます。
guest

0

Unity ホーミング 2D で検索するとやり方はたくさん見つかりますよ。

投稿2021/09/12 17:29

bboydaisuke

総合スコア5308

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

例えばですけど、まず射出する物体を自機のベクトルと同じにしてフレーム毎に目標方向の角度を算出して
その角度にし少しずつ近づけるようにしてやれば曲線でホーミングするようになると思います

投稿2021/09/12 14:35

tatamyiwathy

総合スコア1045

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

追跡曲線、とか追尾曲線、でぐぐると解説が出てくるかと。

投稿2021/09/12 14:27

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問