LoginSignup
2
0

【Minecraft】アーマースタンドを使ったカスタムモブ製作のあれこれ

Last updated at Posted at 2023-12-14

はじめに

バニラ環境において、RPG配布ワールドを制作する場合、一つの壁となるのが「モブの見た目の差別化」です。

ゾンビやスケルトンといった人型モブに、既存の防具やブロックを被せるのも一つの手段ですが、やはり独自の見た目を用意したい!と思う方もいるでしょう。

本記事では、バニラとは全く違った見た目を持つモブ(以下「カスタムモブ」)を実現する方法の中で、アーマースタンドとリソースパックを使用した方法についてのノウハウを紹介していきます。

2023-12-13_18.29.42.png
今回例となるカスタムモブたち

カスタムモブの基礎

本記事におけるカスタムモブは、

パーツ(アイテムモデル)を装備したアーマースタンド当たり判定となるモブTPで追従させる

という形の実装が基本となります。

armorstand.png
パーツを装備したアーマースタンドのイメージ(Blockbench)

基本的には、パーツ(頭・胴体・足など)の数だけアイテムモデルを用意し、それらをアーマースタンドに装備させ、当たり判定となるモブを中心に、TPの位置を調整することで形を作っていきます。
2023-12-13_18.29.53.png
渓流の蜥蜴 レトリ(全8パーツ8エンティティ+当たり判定)

細かい記述は省きますが、以上が基礎部分となります。

アーマースタンドの利点

そもそも最近は、Displayという優秀なエンティティが登場していて、アーマースタンドを使用する必要があるのか、と思う方もいらっしゃるでしょう。

アーマースタンドには、以下のメリットがあると考えます。

  • 3つのパーツを1エンティティで保持できる
  • 回転の仕様が直感的

3つのパーツを1エンティティで保持できる

アーマースタンドを使用すると、頭・右腕・左腕と3か所でパーツを描画することができます。
回転の軸が固定であるという問題はありますが、これにより、複数のパーツを1つのエンティティにまとめられる場合があります。
パーツが中央に集中している、小型や節足動物型のモブに有効です。

例えば下記のモブの場合、表示に必要なのは2エンティティです。

  • 頭・前脚&後脚(両手)
  • 胴体・中脚(両手)

2023-12-13_18.27.32.png
マーブルバグ(全6パーツ2エンティティ+当たり判定)

回転の仕様が直感的

アーマースタンドは、Poseタグによって頭・胴体・腕・足の回転を設定できます。
XYZによる指定であるため、スコアとの同期が容易です。

Displayの場合の回転は、四元数形式によって表されているため、アーマースタンドに比べると直感的ではなく、知識や慣れが必要となります。
(私は四元数形式による回転を理解しきれていないため、詳細な比較はできません)

アーマースタンドの欠点と対策

アーマースタンドには、一つの重大な欠点があります。
それが回転がずれる問題です。
アーマースタンドによるカスタムモブ製作を試みた方なら、一度は体験したことがあるのではないでしょうか。

Mottled.png
ずれのイメージ

これは、アーマースタンドの回転が持つ、特殊な仕様によって引き起こされるものです。
詳細は不明ですが、恐らくTPや回転を視覚的に補完する機能によるものだと思われます。

実際には、カスタムモブが急旋回をした際、静止していた状態から動き始めた際などに発生し、突然パーツがあらぬ方向を向いてモデルが崩れたり、攻撃モーションと当たり判定がずれたりなど、様々な問題が発生します。

この問題の対策として、こまめに回転を加えるという手段があります。
数Tickに一度、1度程度の小さな回転を加えるだけで、このずれは大きく軽減されます。

おわりに

本記事の内容は以上となります。
拙い内容ではありますが、問題解決や、カスタムモブ製作のきっかけになれば幸いです。

余談ですが、本記事において使用した画像は、全て制作中のRPG配布ワールド「FinzKiil(フィンズ・キイル)」のものです。
今冬に第一作をリリース予定ですので、リリースされた際には是非プレイしていただけると嬉しいです!

ここまで読んでいただきありがとうございました!

2023-05-20_23.29.21.png

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0