OptifineのCEM Animationを学んでみる。その3
*初めに*
マイクラの動物たちを可愛くしたい!という強い情熱(バニラの動物のデザインが許せないという思い)の元、リソースパックの作り方を勉強してきました。
その結果できたのがこちら。かなり完成に近づいてきました。
なぜ「Animal”s”」にしなかったのかと悔やまれます。まぁ、それだけで英語苦手ってのが伝わるからいいんですけど。
このためにいろいろ調べてきました。ここらで一旦、現状把握できている事をまとめておきたいと思います。マイクラ環境はJava版です。また、Optifineの使用を前提としています。
この記事以前に描いている、その1とその2の記事は書いていた時点での知識をメモ書きしたものなので、こちらの方が少し正確だし分かりやすいと思います。というか、自分が後で見たときにそう思えるように書くつもりです。
*動物(エンティティ)の見た目を変える*
マイクラの世界を構成するものには世界そのものを形づくる「ブロック」、一定の法則のもとで動いたり、プレイヤーが干渉して変化を与えられるオブジェクト「エンティティ」、プレイヤーのインベントリに入れることが可能な「アイテム」があると思いますが、その「エンティティ」の中でも自ら動き回ることが可能な「モブ」、さらにその中でも現実世界の動物を模した種類のもの達をいじっていきます。
基本的に「既存のモブに変更を加える」という事だけやります。「新しいエンティティやモブをゲーム内に追加する」というのは自分の守備範囲ですし、恐らくリソースパックの範疇を超えていると思います。分りませんので、その方法には触れません。
モブの外見等を変える際には、以下の3つの方法があります。
1.テクスチャを変更する
荒めのドットで描かれた、モブの外見の絵を変更します。これには:
・「リソースパック」作成の知識
・簡単なお絵かきソフト(若しくはBlockBench)
が必須です。
マイクラに含まれる各モブのテクスチャデータを何らかのソフトで読み込み、描き換えて適切なフォルダ構成で配置してZipファイルにしてやればOK。ただし、特定の条件下でのみ描画されるテクスチャや、バニラにはカラー無いカラーバリエーションをランダムで表示させる、といった場合にはマイクラのMODである「Optifine」の力を借りる必要があります。この方法は「ランダムエンティティ」と言う機能になりますが、ネットでやり方を調べようと思っても意外とストレートに出てこないです。
で、実はOptifine自体の中に説明書が入っています。Optifineを解凍ソフトで開くと、docフォルダの中にズラッと仕様書が並んでいます。その中の「random_entities.properties」というファイルがそれですね。英語ですが、翻訳ソフト使えばどうにかなると思います。要はリソースパックとしてOptifineが認識できるフォルダ構成を作って、適切な形のテクスチャを配置してやれば良いです。
これらの機能を使って動物の色や顔を変えてやるだけでも相当に印象は変わります。が、形はどうにもできません。尻尾が無かったり、体形のバランスを変更したりといった事は次の方法を使う必要があります。
2.モデルを変更する
マイクラのモブはキューブで構成されていますが、その形を変更してしまいます。これには
・Optifine
・BlockBench
の二つが必須になります。モデルの形の情報は簡単なテキストファイルでOptifineに認識させるので、厳密に言うとBlockBenchは必要が無いのですが、テキストの打ち込みだけでモデルを作れる人はきっと能力者です。常人には不可能だと思いますので、素直にBlockBenchを使いましょう。フリーソフトです。
モデルの変更は、Optifineの中でも「CEM」、カスタムエンティティモデルという機能を利用します。これはBlockBenchの使い方と共に日本語でもブログで紹介されていたり、Youtubeの動画にも詳しいやり方が紹介されています。英語しかないと思いますが、字幕と翻訳機能でどうにかなるでしょう。
簡単に説明すると、BlockBench側でマイクラで使用されているモブと同じ形のモデルデータを読み込み、変更を加えたものを「jem」ファイルとして出力、それをOptifineが認識できるように配置してリソースパックとして読み込む、という感じです。ただしBlockBenchとOptifineの間に少し変な癖があります。胴が90度回転して表示されたり、テクスチャを貼り付けたモデルを保存するとマイクラ内でそのモデルが認識されない…など、変なところでつまづきます。対応方法を覚えながらの作業になります。
3.アニメーションを追加、変更する
これはOptifineの「CEM Animation」という機能です。モブが持つ元々の動きを変更したり、本来なら動かない部分を動かしたり、追加したパーツに動きを加えたり、といった事が可能です。これがまた日本語での情報が少ない。プログラムの知識があればOptifine内の説明書でも分かるのかもしれませんが、それが無い人には結構な難しさです。
これは2の手順で作成したjemファイルに、アニメーションに関する記述を書き加えることで可能となります。ただし、モデルの変更の様にその場で結果を確認できるソフトはありません。記述を加えたり変更したりするたびに保存し直して、マイクラ側でリソースパックを読み込みなおして実際に動きを確認して…という作業を繰り返す必要があります。かなり地道。
かなり長くなってしまったので、それぞれ別に記事を立てようと思います。この記事の最後に、現時点での自分の集大成を見ていただきます。ブタのテクスチャ、モデル、アニメーションをすべて変更して生まれ変わったブタさんです。