Unityから写真appから入れたJPEGファイルを分割して、Cubeブロックにしたかった事の備忘録です。

で、「ビーちゃんのブロック壊れ」の状態となりました。

1.Cubeブロックの画像表面用の造り。

本当は、CubeブロックのUIマッピングで色していたテスクチャの1面だけに変更編集したかったんですが、諦めました。

Cubeの1面の部分に設置して、Quad(or Plane)を2次元面画像の表示処理して、CubeとQuadをつけて「重力OFF化」に設定して、地面に落下せずにしたかったのですが、QuadではRigidbodyのコンポーネントが不可の為でした。。´д` ;

で、Cubeブロックに、薄〜いCubeを用意して、Cube共で「Fixed Joint」を繋ぎました。

 

2.テクスチャの分割

ネコちゃんJPEGファイルを分割処理について、かなり難儀してました。どうも、SpriteEditorって物で作った分割処理は、「Unityエディターの中でするSpriteEditorを拡張コードをしてSpriteを作るところ」でした。・・;

ので、JPEGファイルから分割Spriteを作成後、分割Spriteから得たテクスチャ2Dを表面用Cubeのマテリアルに設置する処理かなぁっと思っていました。どうも、Sprite作成は、ちょっと違うようでした。。。

で、グー先生方から見つけてました。

FileからTexture2D やSpriteを作成できて、ここが、とてもお助けでした。

また、Texture2Dから分割して個別のTexture2Dの作成が
UnityでTexture分割ウインドウ作ってみた
から、とても簡易に処理ができました。

以下、先の教えてもらったところから追加作成したコードです。

3.iOS実機とUnityEditourから違うファイルのFilePathの取得方。

OS実機とUnityEditourでのFilePathを取得するのは、Application.dataPathからPathを追加するのが必要で、Unityで取得できるパス一覧から記述できました。

が、画像Fileを Assets/Resources/… に置いた場合、UnityEditor上からのFilePathの取得はOKでしたが、 iOS実機上での場合は取得NGでした。

iOS実機上でApplication.dataPathからFilePathの取得するには、Assets/StreamingAssets/… に置いた場合が必要でした。

UnityEditor上:

 tring img_path = Application.dataPath + “/Resources/image/cat_kuri_tmp.png”;

iOS実機上:

 string img_path =  Application.dataPath + “/Raw”+”/cat_kuri_tmp.png”;  // “/Raw”の追加が必要

OS実機とUnityEditourでのFilePathを取得するApplication.streamingAssetsPathでは、FileをAssets/StreamingAssets/… に置いた場合

UnityEditorとiOS実機上共では、設定が同上記述でした。

 string img_path =Application.streamingAssetsPath+ “/cat_kuri_tmp.png”;

以下、分割したTexture2DからTexture2Dリストを作成したところ。。

 

と、いうことで、ネコちゃん写真有りブロックの建築方法がでてきました。

次は、ビーちゃんがブラチャげたブロックをお直しする方法をするところに。。なるかなぁ。。。

ではでは。