この記事ではMcreator2023.3の情報を執筆しています。
こんにちは。もえやです。2年ほど前からMcreatorの制作動画をYoutubeにアップしています。
今回は、追尾弾を作ってみましょう。
この記事では、追尾弾の作り方を解説します。
動作紹介
こちらのショート動画で動作を紹介しています。
遠距離武器を作る
プラスから、遠距離武器、を押します。
名前を付けて、新しい遠距離武器を作成、を押します。
テクスチャを設定します。
テンプレートを使ったテクスチャの作り方は、こちらの記事で紹介しています。
飛び道具タブに移動します。
飛び道具のテクスチャを表すアイテムに、適当なテクスチャを設定して、保存します。これは後から変更するので、どれでもよいです。
保存した遠距離武器を再度開きます。
飛び道具のテクスチャを表すアイテムに、自分のテクスチャを設定します。
トリガータブに移動します。
飛び道具が飛んでいる間、のプラスからプロシージャーを作成します。
名前はそのままで、プロシージャーを作成、を押します。
プロシージャーの設定
まずは、ローカル変数を作成します。
ローカル変数のプラスから、新しい変数を作成します。今回はすべてナンバーで作成します。
変数に初期値を設定します。
カスタム変数の中から、変数に値をセットするプロシージャーブロックを持ってきます。
数式の中から、数字を持ってきます。
このようにセットします。今回aは追尾性能の強弱、cubesizeは索敵範囲を表します。
好みに合わせて変更したいので変数で設定しています。
フロー制御の中から、条件分岐を持ってきます。
ワールドデータから、指定した範囲内に指定のエンティティーがいるかどうか調べるプロシージャーブロックを持ってきます。
カスタム変数の中から、変数を取得するプロシージャーブロックを持ってきます。
このように設定し、範囲50マスの中にニワトリがいるかどうかを調べます。
数式の中から、こちらのプロシージャーブロックを持ってきます。
マインクラフトコンポーネントの中から、即時の元エンティティーを持ってきます。
今回の場合、これが追尾弾を表します。
エンティティデータの中から、速度を取得するプロシージャーブロックを持ってきます。
このようにセットします。この時、変数sevの中は実際に飛んでいく方向の速度になります。
XYZ各方向の単位当たりの速度を出します。
ワールドデータの中に、一番近いエンティティーを取得するプロシージャーブロックがあるのでそれを持ってきます。
エンティティーデータの中に、座標を取得するプロシージャーブロックがあるので持ってきます。
こんな感じで設定します。tedx~tedzは追尾弾からターゲットまでの各方向の距離を表します。
追尾弾からターゲットまでの距離tedをこんな感じで設定します。
XYZ各方向の距離を単位長さあたりにします。
現在のXYZそれぞれの速度に、ターゲットまでの距離を足して、方向をターゲット寄りに変更します。この時、変数aを挟んで追尾の強度を調整できるようにします。
この時の方向の長さsev2を計算します。
変更した速度を単位長さあたりにします。
エンティティー管理の中から、速度を上書きするプロシージャーブロックがあるので持ってきます。
各方向の新しい速度を設定します。
セーブして出来上がりです。 変数aの値を色々変えて、お好みの追尾性能を実現しましょう!