2014年6月23日月曜日

Spriteでテクスチャを回転

Unityでテクスチャをスプライトで回転させてみたメモ。


スプライトは2Dゲーム開発用かとおもいきや、
3Dでもスプライトは便利そう。


目的

  • テクスチャを回転させたい。
  • Object自体はできれば回さない。
  • スクリプトでテクスチャ切り替えは面倒。

→スプライトを使えば比較的楽にできそう。


テクスチャを用意


次のような円状のものをちょっとずつずらして回転したものを作成。
(地味に回転&再配置が面倒・・・)

アニメのコマは4x2の8枚。
黒部分はアルファレイヤで透過になります。


LockCursor.tga (1024x1024)


スプライト生成

  1. テクスチャ選択
  2. Inspector内のTexture Typeクリックしてプルダウン
  3. Spriteに変更する






  1. Spriteにしたら
  2. Sprite ModeをMultipleにする。※コマ数が複数あるので
  3. コマ数の分割を指定を行う為、Sprite Editorをクリック





  1. Sliceをクリック
  2. TypeをGridに。Pixel Sizeを256x256に指定。
    ※テクスチャが1024x1024なので縦横4分割とする
  3. Sliceをクリックして分割






今回は上半分に4x2=8コマの絵がある状態。
Slice後、下半分の絵が無いところにもコマとして確保される場合がある。

不要なコマ部分をクリック、DELキー押しで削除できる。
これで下半分の不要なコマを削除する。

一通りできたらApplyをクリックして変更を確定。Sliceウィンドウを閉じる。









スライスした絵が8枚できているので(LockCursor_0~7)
全て選択してHierarchyウィンドウにドラッグ&ドロップする。

保存ウィンドウがでるので、LockCursor.anim などとして保存。
(アニメーションのファイルとかMecanimの雛形が自動生成される)

するとHierarchyウィンドウ内に LockCursor_0 という名前でスライスしたものをまとめたものができる。
※これをAssetsウィンドウに再度ドラッグ&ドロップするとプレハブ化するので、スクリプトから動的生成もしやすい。








見やすいようにカメラの前付近に LockCursor_0 の位置を調整して、
UnityをPlayすると、LockCursor_0 はくるくる回りだす(スクリプト無し)。







アニメーションが8コマなので少々回転が荒い・・・。

Asset Storeをもっと活用すべきなのでしょうけど、いまいち使いきれてないな・・・うーむ。


0 件のコメント:

コメントを投稿