チュートリアル/Bedrock Edition/エンティティモデルの変更

提供: Minecraft Wiki
移動先: 案内検索
Book and Quill.png
この記事の内容は翻訳されていません。
あなたが内容を翻訳してみませんか?
Cleanup.svg
この記事はスタイルガイドの基準を満たす必要があります。 議論
この記事を整理して下さる協力者を求めています議論ページには提案があるかもしれません。
Information icon.svg
この項目はBedrock Edition限定の要素です。

このチュートリアルでは、公式にサポートされたAdd-onについての詳細を解説する。

概要[編集 | ソースを編集]

この記事は、上級者向けの記事となっている。あなたがある程度JSONデータ形式に精通している必要がある。そうでないなら、チュートリアル/Bedrock_Edition/ビヘイビアーパックの作成をよく読んでおくことをお勧めする。

この記事では以下の内容を記述する。

  • Minecraftモデル形式の概要
  • エンティティのモデルの変更方法

所要時間[編集 | ソースを編集]

30分ほどで教えられる内容となっている。

必要なもの[編集 | ソースを編集]

以下のツールが必要となる。

テキストエディタ[編集 | ソースを編集]

種類は問わないが、プログラミング用の IDE をお勧めする。Notepad++ は無料であり、多くのプログラミング言語の構文ハイライト機能を備えている。 ここからダウンロードできる。 複数のファイルを効率的に管理する目的においては、Visual Studio Code を使用することもお勧めである。

入門[編集 | ソースを編集]

この記事では、例として、クリーパーに頭を3つの頭を持たせる。 クリーパーのモデルを変更し始める前に、モデルを構成するコードを確認した方が良い。

Minecraftモデル形式[編集 | ソースを編集]

Minecraftのモデルは全てmobs.jsonに定められていて、Vanilla Resource pack/models/mobsに存在する。 mobs.jsonは、以下の異なる要素によって構成される。

エンティティテンプレートコード[編集 | ソースを編集]

"geometry.エンティティの名前":

     "texturewidth": x,
     "textureheight": y,
     "bones": [
   {
     "name": "パーツの名前",
     "pivot": [ x, y, z ],
     "cubes": [
       {
         "origin": [ x, y, z ],
         "size": [ x, y, z ],
         "uv": [ x, y, z ],
        }
      ]
    }
  ]                                         
}

注意[編集 | ソースを編集]

   このコードは、mobs.jsonがどのような構成になっているか例示するもので、実際に使用しても有効ではない。
geometry.entity モデルが属するエンティティの名前
texturewidth 1ピクセル単位でのテクスチャの幅
textureheight 1ピクセル単位でのテクスチャの高さ
bones モデルの骨格を形成するパーツで、BonesはGeometry.entityの影響を受ける。この表にまとめられたデータがコンマで区切られている事に注意。
name パーツの名前
pivot モデルのパーツの中心点の位置。 例えば、クリーパーの頭が回転するとき、Pivotの場所を中心として回っている。
rotation パーツのグループ全体の回転の仕方の座標を設定できる。それを使用するとき、Minecraftがいくつかの設定した回転の方法を上書きしてしまう事に注意。
mirror trueかfalseかを設定でき、trueの場合、グループのuvのx座標を揃えられる。
cubes Geometryに対応したパーツの設定。
origins パーツの位置の中心を定義する。この中心の位置は、エンティティモデルの左下の前の頂点になる。

[編集 | ソースを編集]

クリーパーの"body" パーツでいうと、赤い丸のつけられた所の頂点がoriginsの位置。 CMEMPicture 7.png

size パーツの大きさを1ピクセル単位で変更でき、16×16×16の大きさだと、1ブロックと同じ大きさになる。
uv テクスチャ内のパーツの位置を変更できる。

この数値は、最初にx座標(水平)、次にy座標(垂直)を設定する。注意したいのは、この位置は、テクスチャリングした際にテクスチャの左上になる部分を指定する必要がある事。

[編集 | ソースを編集]

赤く色のつけられたピクセルは、クリーパーの"body"パーツで指定する必要のあるピクセル。("uv": [ 16, 16 ])テクスチャリングする際、点線で囲まれた部分が"body"パーツに使用される。314×158

mirror trueかfalseかを設定でき、trueの場合、パーツのuvのx座標を揃えられる。
inflate パーツの大きさを指定された数展開し変更する。また、負の数にすることもできる。この項目はuvマッピングには影響を与えない。

パーツとアニメーション[編集 | ソースを編集]

パーツはモデルをMinecraft上で動かすために使用され、人体と同じように考えると、骨格があり、それを筋肉で動かすと、肉もそれについてくる。3Dアニメーションでも、骨格があり、それをアニメーションで動かすと、それに伴い骨格に当てられたgeometryもついてくる。

重要な事[編集 | ソースを編集]

モデルはまだ完全にデータによるものではない。モデルの変更は可能だが、エンティティに必要なパーツや、エンティティのアニメーションなど、データによる変更ができないものもある。つまり、クモに村人の動きをさせようとgeometryをコピー&ペーストしても、うまくはいかない。モデルが完全なデータ駆動になるまで、望む結果を引き出すため、あなたは多くの実験を重ねていくでしょう!