こんばんは
うちの近所では昨日から蝉が鳴きはじめました。みんみんゼミかな?
ただ壊すだけのアプリ「物理演算建物破壊」に
”自身で建物をつくれるモード(クリエイトモード)”を追加しようという試み第4回目です。
前回セーブ機能つけてPCでテストはうまくいったのです。
しかし、実機でテストしてみたら、書き出したエクセル形式データが読み込み専用になっている。
PCでセーブデータをエクセルで開いても編集できない始末。
1日中ずっと調べてみたけどわからない。
困ったので現実逃避かねて別の機能を付けてみたいと思う。
その機能とはオブジェクトを選択したときに”ワイヤーフレームのようなもの”を表示し、
”選択された”と分かり易くする。
↓Unityの画面だとこうなる。オブジェクト選択前。
↓オブジェクト選択後
オブジェクトの中心部にXYZ軸の矢印と緑色に光る細いワイヤーフレーム。
そしてオレンジ色のアウトライン(今回はアウトラインは表示しない)
これで”選択されている”感じがでて分かり易い。
↓製作中アプリのクリエイトモード画面。
XYZ軸の矢印だけではブロックが重なっている所などは選択されているブロックがわかりづらい。
ワイヤーフレームについて調べてみたがポリゴンからワイヤーフレームを使うと一番楽そうだった。
試してみたがポリゴンは4角形ではなく3角形なので各面に対角線が1本入ってしまう。
ポリゴン方式は結構見づらかった。
しかたがないので自力でUnityのそれっぽいものをつくった。
まずはブロックを細長くして12本。
↓こんな感じに組み立てた。
↓そしてマテリアルの影を消して緑の蛍光色にした。
そしてプレハブ化後、選択されているオブジェクトの位置、回転、拡大率をスクリプトで反映させる。
あとはカメラの設定。一番手前にワイヤーフレームを表示したい。
↓メインカメラ設定。
赤線のところDepthは‐1
↓メインカメラの子オブジェクトとしてカメラをもう一個。
CullingMask のところはこのカメラで表示したいオブジェクトのレイヤー。
今回はDepth0(名前は何でもよい)がワイヤーフレームのレイヤー。
Depth は 0
(数値が大きいのが一番手前に描画される。メインカメラが‐1でサブのカメラが0なのでサブのカメラに映るCullingMaskで指定したレイヤーのオブジェクトが一番手前となる。)
↓自作ワイヤーフレーム適用前
↓自作ワイヤーフレーム適用後。
選択されているブロックが分かり易くなりましたね。
しかし、セーブ機能が完ぺきではない。ぐぬぬ
明日から本気出す。
今回はここまで、またね。
↓androidアプリ「物理演算建物破壊」のダウンロードはこちらから GooglePlay
https://play.google.com/store/apps/details?id=jp.webnode.mountainrooting0.buildingdestroy
↓物理演算建物破壊のiOSアプリ「Physics Simulation BD]のダウンロードはこちらから App Store
PSBDで検索
https://itunes.apple.com/us/app/physics-simulation-bd/id1355484914?l=ja&ls=1&mt=8