この記事ではMcreator2023.4の情報を執筆しています。
こんにちは。もえやです。2年ほど前からMcreatorの制作動画をYoutubeにアップしています。
今回は、前回作成したオリジナルの弓に、矢を発射したときに扇状に9発発射する機能を付けていきます。
この記事では、矢を扇状に発射する方法を解説します。
プロシージャーを作成する
前回作成したアイテムを開き、高度なプロパティタブに移動します。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-10.png)
右下の、レインジドアイテムを使用したとき、のプラスから、プロシージャーを作成します。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-20-1024x336.png)
プロシージャー作成画面が立ち上がったら、右上のローカル変数のプラスから、変数を作成します。
角度でa、b、cの3つを、numberで作成します。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-30-1024x360.png)
変数に初期値を設定していきます。
カスタム変数の中から、変数をセットするプロシージャーブロックを持ってきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-40.png)
エンティティプロシージャのデータから、水平方向と、ピッチ方向の角度を取得するプロシージャーブロックを持ってきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-50.png)
数式の中から数字を持ってきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-60.png)
変数aに水平方向の角度を、bにピッチ方向の角度を、cを10に設定してください。
変数cは矢の間隔なので、好きな値を入れて下さい。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-70.png)
フロー制御から回数指定の繰り返しを持ってきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-80.png)
繰り返しを4回に設定します。ここも好きな回数を指定してもらってOKです。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-90.png)
飛び道具プロシージャーから、図の2つのプロシージャーブロックを持ってきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-100-1024x266.png)
エンティティプロシージャのデータから、座標を取得するプロシージャーブロックを持ってきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-110.png)
数式から、数字と計算式を持ってきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-120.png)
発射するものをArrowに、XZをイベントターゲットエンティティーの各座標に、Y座標は視線の高さにするため、+1.5に、速度を3、inaccuracyを0にします。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-130-1024x486.png)
次に、発射する各方向の速度を計算します。
数式の中から必要なものを持ってきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-140.png)
まずはXからです。全体に-1をかけ、まずcoscを作ります。
角度はラジアンに変更しておきます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-150-1024x557.png)
最初のcoscに、cosbを掛けます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-160-1024x554.png)
さらに、掛け合わせたものに、sinaを掛けます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-170-1024x540.png)
先ほどの物にプラスで、sincを掛けます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-180-1024x585.png)
そのsincに対して、sin(a-90)を掛けます。XはこれでOKです。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-190-1024x570.png)
XをまるっとコピーしてZを先に作ります。
全体にかかっている-1は外して、図の2か所をsinからcosに変更します。Zはこれで出来上がりです。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-200-1024x531.png)
次にYです。
全体に-1を掛け、coscを用意します。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-210-1024x561.png)
そのcoscに対してsinbを掛けます。Yもこれで出来上がりです。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-220-1024x564.png)
変数cに-1を掛けて、角度を変えます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-230-1024x588.png)
先ほどの矢を発射するプロシージャーを、右クリックでまるっとコピーします。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-240-1024x566.png)
角度を変更したcの下に貼り付けます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-250.png)
その下で、cに-1を掛けて符号を戻し、角度を+10します。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-260-1024x593.png)
これで完成です。
通常発射の1本に加えて、左右に4本ずつ、角度10度ずつの弓が発射されます。
![](https://moeya3d.com/wp-content/uploads/2024/01/41-270-1024x576.png)
ぜひ作ってみてください。