unity

【unity横スク】materialのTillingを使って,引き伸ばしてもテクスチャーが崩れないようにする方法

こんにちは!ぴよぴよホールディングス(@piyopiyoHD)です!

2Dの横スクロールアクションゲーム等でよくあるこういうステージの床となるブロック

 

 

一つ一つCubeを置いても作れるんですが、面倒ですよね!

けれども、そのままcubeを伸ばしてしまうと

 

 

こんな感じにテクスチャーが乱れてしまいます!!!

 

そこで今回はmaterialのtillingを設定して乱れず、かつ手早く床ブロックを作成する方法をご紹介したいと思います!

事前準備

cubeを作ります

 

cubeを選択して

 

・cubeを作り置きたい場所に置きます!

 

・scaleの値もキリの良い数字で、作りたい大きさで作ります。今回はXが3,Yは1

materialに床にしたい画像を入れます。

 

 

materialを作成し、今回はTileフォルダにある2を入れました。

 

今の状態でmaterialを入れると、Directional Lightの影響を受けて画像通りにcubeが反映されません!

ので

 

 

ShaderのStandardをUnlitのTextureに変えます!

これで準備完了!

 

tillingを設定する!

 

さて本題に入ります!今の状態では、cubeのtextureが乱れた状態です。

ここで、アタッチしたmaterialのInspector上にある、Tillingを設定します!

具体的にはアタッチしたcubeのスケールがXが3,Yが1なので、TillingのXとYも同様にします。(これを一緒にしないと綺麗にならないよ。

 

すると

こんな感じに綺麗にステージの床が作れます!

難点

 

この方法だと、cubeの大きさに対して、materialを作らなければいけません!(もしかしたらmaterialの設定で個別にtillingの値を変えれるかも。知ってる方いたら教えてください)

まとめ

 

上記のように、materialのTillingを設定すれば、cubeをあらかじめ大きめに作ったりしても、一つ一つにtextureを反映させることができます!

またまたunityの記事を書いていきたいと思うので、定期的にblogにアクセスしてください。笑

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