忍者ブログ

|Minecraftを自分色に|

Minecraftに1.8から備わった機能、modelsをつかって形状を変える(いわゆる3Dテクスチャ)を自作しようぜ!って感じのゆるいブログ(?) 3Dモデルの作り方とマイクラをより自由に使う方法を考えます♪

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

3Dテクスチャの~.json。中身が見たい('_')

皆さんこんばんは。
前々回くらいにここでBDCraftを使った3Dテクスチャの作り方を解説しましたよね。
作ってみた方も作ってない方もとりあえず3Dテクスチャが.jsonという拡張子であることを覚えておきましょう。

さて、今回はそのjsonファイルの中身を探りどういう構造になっているかについて探ろうと思います。

まずデフォルトのanvil、つまり金床のmodelについてメモ帳で開いてみました...

なんじゃこりゃ... なんか暗号みたいですが、よく見るとfromとかrotationとか英語っぽいことも書かれていますよね。
ではこれを一旦見やすく改行させてみましょう。
何度も言いますが、modelsのjsonファイルは単語の途中でない限りEnterによる改行、半角スペース、半角tabを使っても結果に影響しません!

そうするとこうなります。これが3Dテクスチャの中身だ!
こんな感じになりました。 ここまでそろえると結構綺麗ですよねw 数字や英単語っぽいものも見えるしそれぞれ何かの値を決めてるんだな~ってことはつかんでおいてください。


では実際にどの文字がどの値を決定しているのでしょうか



構造化してみるとこんな感じになります。(ブロックのモデルの場合)

{
  "parent":"block/参照するブロック",
  "display":{
    "fixed(thirdperson_righthandなど他にもいろいろ)":{
      "rotation":[x,y,z],
      "translation":[x,y,z],
      "scale":[x,y,z]
    }
  },
  "textures":{"変数":"blocks/参照するテクスチャ","変数2":"blocks/..."},
  "elements":[
    {
      "from":[x,y,z],
      "to":[x,y,z],
      "faces":{
        "down":{"uv":[x1,y1,x2,y2],"texture":"#変数名","rotation":"0","tintindex":0},
        "up":{〃},
        "north":{〃},
        "south":{〃},
        "east":{〃},
        "west":{〃}

      },
     "rotation":{
        "origin":[x,y,z],
        "axis":"x",
        "angle":45
      }

    },
    {
      "from"....同じものが続く
    }
  ]
}


青字のものは値によって変動するものです。また、コメント機能など少し省いています

parent...
parentとはそのまま親、つまり参考にする他のモデルは何かってことです。オリジナルで作成しようとする場合書かなくて大丈夫です。基本的には形が同じだったりするときに使います。容量の節約にはなるので3Dリソースパック作りを目指しているのであればぜひ習得していただきたいですw
記述の仕方は、
"parent ":"block/参考にするモデルの名前"  

display...
displayとは手に持った時や頭にかぶった時に拡大率や向きを変更するものです。これを設定しなかった場合はドロップしたときや手に持った時にバカでかい感じになると思いますw
displayの中一層目の上ではfixedとかいてあるところ、他にも
thirdperson_righthand(三人称での右手のとき)
thirdperson_lefthand(三人称での左手のとき)
firstperson_righthand(一人称での右手のとき。左手は略)
gui(guiにあるとき)
head(頭にかぶっているとき)
ground(ドロップしているとき)
fixed(額縁に入れたとき)
があります。続い二層目ですが、
rotationは回転、向きを変える値です。
translationは移動させます。
scaleは拡大率です。これが一番重要だったりします  
記述の仕方は、
"display":{
  "head":{
    "rotation":[x,y,z],
    "translation":[x,y,z],
    "scale":[x,y,z]
  }
}

textures...
texturesは3Dモデルに張り付けていくテクスチャを張るのを簡単にしてくれる項目です。
あらかじめ適当な変数名というタグみたいなものをここで設定すると、3Dテクスチャのモデルをつくるときに張り付けるテクスチャを簡単に指定できます。↓で使用するところが出てきますが、そのときは#適当な変数名という感じで使って下さい。
BDCraftではこれが指定されなかったですよねw
記述の仕方は、
"textures":{
  "好きなワード":"blocks/参照するテクスチャ",
  "好きなワード":"blocks/参照するテクスチャ",
  "好きなワード":"blocks/参照するテクスチャ"
}
ちなみに何個でも指定できます。

elements...
elementsは実際に3Dのモデルを作っている部分です。
fromtoで作る直方体を指定しており、facesで張り付けるテクスチャを指定しています。
rotationでは直方体を回転させることができます。22.5度刻みで45度から-45度まで指定できます。
origin,axis,angleについてですが、それぞれ回転の中心、回転軸の向き、角度を指定してます。

facesの中身ですが、up,down,north,south,east,westで直方体の面一つ一つに指定していきます。
uvはテクスチャのどこからどこまでを使うかということを指定しています。

こんな感じでxのはじめ、yのはじめ、xの最後、yの最後を順に指定します。
textureでは↑できめた#~を使用してテクスチャの貼り付けができます。
cullfaceはマイクラが重くならないための工夫ですが後々紹介します。
rotationは指定するテクスチャを回転(90度刻み)させれるみたいですが、使たことはないです('_')
tintindex....ふざけてないです。(切り方はtint  indexです)葉っぱとかの緑はこの値を0にします。
記述は、
"elements":[
  {
    "form":[x,y,z],
    "to":[x,y,z],
    "rotation":{
      "origin":[x,y,z],
      "axis":"z",
      "angle":22.5
    },
    "faces":{
      "up":{"texture":"#何か","uv":[0,0,16,16]},
      "down":{"texture":"#何か","uv":[0,0,16,16]},
      "north":{"texture":"#何か","uv":[0,0,16,16]},
      "south":{"texture":"#何か","uv":[0,0,16,16]},
      "west":{"texture":"#何か","uv":[0,0,16,16]},
      "west":{"texture":"#何か","uv":[0,0,16,16]}
    }
  },
  {
    何個も直方体を作っていく。
  }
]

長くなってしまいましたが、これを頭に入れておくと手書きjsonがめちゃくちゃ楽になります。
では、ロマンを追い求めて手書きjson編、始めましょう!(*^▽^*)

参考サイト:Minecraft Wiki http://minecraft.gamepedia.com/Model#Block_models

拍手[1回]

PR

modelsとはなんぞや(blockstatesとの関係とか)

そういえば、modelsとは何かについて具体的に説明してませんでしたねw
このページではmodelsとは何か、blockstates,textures等との関係を説明していきたいと思います

まぁ軽くつかんでいただけたらなと思います

modelsとは何か

一言でいうとブロックの見た目の形状を決めるファイルです。これについては前の記事でも述べましたね。より深く言うとjsonという種類のファイルでblockstatesから呼び出されます。

blockstatesとは何か

これは「ブロックが~の状態の時にこのmodelsファイルを使うぞ」ってのを決めるファイルです。
また、「ブロックが~の状態のとき、ランダムでこのmodelsファイルたちのどれかを使うぞ」というのも決められ、それぞれのmodelsが使われる割合なんかも設定できます。

texturesとは何か

modelsのための材料です。テクスチャやリソースパックを作ったことがある人にはなじみ深いですね(*^▽^*)


え?まだ分からない?ではこういう例はどうでしょう....

昔々あるところにピザ屋がありました...
blockstatesはピザ職人です
models
はピザです
texturesはピザの材料です

.....は?まぁ、もう少し聞いてみましょう(^^;)


たとえば「海老とアボカドの~ピザのL一つ」という注文が入ると、職人はLのピザ生地を使ってピザを作って海老などの材料を配置します。

minecraftに話を戻すと、
「リピーターをONで」という注文を承るとblockstatesは「リピーターON用のmodelsを使おう」とmodelsを持ってきます。そのmodelsには3Dの形状データと「この面には~のテクスチャを使う」という情報が入っています


例えいらねぇよ

拍手[1回]

modelsのための下準備と予備知識

さて、必要なものは容易しましたか? 
まだな人はこちらから→ 必要なもの


加えて3Dテクスチャを作るつもりのバージョンを一度もプレイしたことのない人は一度開いておきましょう。


まず3Dテクスチャをつくるには、デフォルトの見本があった方がよいでしょう。ということでまずデフォルトのテクスチャを手に入れる方法を書いていくことにします。

はじめに、デスクトップ上で ウィンドウズボタン(4つの四角があるやつ)と「R」を同時に押します。



するとこんな画面がでてくるはずです。
名前のところに「%appdata%」と打ってOKを押します。
するとRoamingというファイルが開くので、一番上の「.minecraft」をクリック。


開いたら「versions」→ 作りたいバージョンを選ぶ(Optifineは✖)

1.〇〇.jar を右クリックして7zipから「開く」を押す。開くと「assets」が一番上にあるので、右クリックからコピー。 コピーするところは指定もできますが普通はさっきの「versions」の1.〇〇のところにコピーされるので、それをわかりやすいデスクトップなどに移動させましょう。



リソースパックの作り方は割愛させていただきます。3Dテクスチャに使うファイルは「models」、「textures」、(「blockstates」) になっています。この3つのファイルはすべて
リソースパックの名前→assets→minecraft の中に入っています。ないなら作っておきましょう!




最後に予備知識についてですね。


3Dテクスチャはあくまでみかけの形をモデリングするものであり実際の形を変えるものではありません。
要するに土ブロックを階段状に作っても実際の形は普通の四角なのでジャンプせずにあがれたり(オートジャンプは除外)はしません。ということだけ念頭においておいてください。


3Dテクスチャを作ったことがある人にはわかるとおもいますが、たとえば、このページの背景画像のようなもとのモデルよりも細い木を作るなどすきまのできるモデルの場合そのままだと下のブロック、上のブロック、または横のブロックが透けてしまうということが起こります。実はこれの回避策はあり、そのうち紹介するつもりですので...ご期待ください(殴

拍手[1回]

3Dテクスチャを作る前に....



ん...?



あ、皆さんこんにちは、ブログ管理者のコマイヌと申します。





顔に凹凸がある...?そんなのあたりまえでしょう。そう、3Dテクスチャを使えばね☆





..どうでしょうか。3Dテクスチャを作りたくなりましたか? もしあなたが3Dテクスチャを作りたい、もしくは一度作ろうとはしたものの途中でわからなくなった!という方ならばぜひこのブログを見てください!
あ、ちなみにこれ、実は頭にメロンをかぶってるだけでしたw

ま、まぁとりあえず3Dテクスチャを作るのに必要なものから紹介していきますね(汗)


3Dテクスチャを作るのに必要なもの

1. 7zip
           

    解凍とかのソフトですね。結構使えます

2. ちょっとしたスペック

皆がいうほど重くはなりませんが、それでもやはりデフォルトより重くなります。特に、おすすめはしませんが草のモデルを3Dにするとたくさん生えているのでかなりの負担がかかります。マイクラをするのにもギリギリのスペックではやめておいたほうがよいでしょう。 ちなみに僕の低スぺPCでは大丈夫です♪
それとOptifineは入れることをおすすめします♪

3. 軽くテクスチャorプログラムをやったことのある経験

これはない人が多いのではないでしょうか。実はこれには代用できるものがありまして、それはですね...気合いですね、はい。要するにこの項目は気合いさえあれば全く無視してもらって結構です。

おっと、大事なことを忘れていました。最後は、楽しむことです。皆さんはなぜマイクラを続けてきたのか。それはもちろん楽しいからでしょう。モデルづくり(モデリング)にもマイクラと同じ達成感があります。モデリングを楽しむことで3Dテクスチャづくりも苦ではないでしょう。
楽しんでいきましょう!!!


そのくらいですかね。あと強いていうならMinecraftのバージョンですね。1.8以上でないと3Dテクスチャは作れないので注意してください。 ちなみに僕はWindows10,Minecraft1.10で解説していきますのでよろしくお願いします

拍手[1回]