Ludiqの新作アセット PEEKでワークフローを刷新しよう!

8月 28, 2019

この記事はUnity アセット真夏のアドベントカレンダー 2019 Summer!の29日目の記事です。

今回はBolt、Chronosを作ったパブリッシャー、ludiqの新作アセットPEEKの紹介です!

公式サイト https://ludiq.io/peek

アセットストア https://assetstore.unity.com/packages/tools/utilities/peek/

ちょっと前まで違うアセットを紹介する予定だったんですが、たまたま目について便利そう && Boltの作者ということで興味を惹かれたので買ってみました。

Ver,1.0.0が2019年8月17日
Ver1.0.1(最新)が2019年8月24日

Ver1.1.0(最新)が2019年8月28日に来てました!
更新されまくってる新作アセットです!

出たばかりのアセットは機能や情報が少なく、ある程度こなれるまで失敗感が拭えなかったりしますが、PEEKは新作のはずなのに2019.3までテスト済み、マニュアルもしっかり用意されている高い完成度!公式サイトの仕事が丁寧なので…正直この記事より公式サイト見た方が得るものは多いです

さぁまずは公式の動画をみてください

どうです?なんか良さそうでしょ?
興味を惹かれた人のため使ってみた使用感と機能解説に入ります。

Quick Maximize

PEEKを使いたいときはまずはSceneビュー内をダブルクリックして全画面表示にします。

なぜ全画面にするか?というと、このアセットはSceneビューを全画面に表示した上で、Sceneビュー上でUnityのほとんどの機能を操作できる用にワークフローを変えるアセットなのです。

おそらくHierarchy、Inspecter、ProjectあたりはSceneビューと同時に開いてる人が多数派じゃないかと思うのですが、そうするとSceneビューが小さくなって操作しにくいことも多いはず!PEEKなら他のビューに圧迫されてた時の2倍3倍の広さのSceneビューを見ながらUnityを扱えるようになります。

この後細かな便利機能についても書いていきますが、個々の機能より使いたい機能だけに意識を向け、それ以外が邪魔にならない全体的なUXデザインが素晴らしいです。サイトのトップにあるこのコンセプトを本気で実現しようとしている印象で非常に好感が持てるアセットです。

Fullscreen Tabs

さて、大画面にすると左上にタブが表示されていますね。ここでシーンを拡大する前にUnity上で開いているタブにアクセスできるようになってます。Sceneビューだけになったからといっても機能性が劣るということはありません(サードパーティのエディタ拡張を多用する人は例外かも…)

PEEKのビュー表示には選択したタブだけが左側に表示されるPopUpと、シーン上に任意の位置に複数のウインドウを配置できるPinnedの2パターンの表示があります。Pinnedはウインドウの位置が記憶されるので邪魔になったら気軽に消しても全然問題なし!出したい時にいつでもすぐ同じ場所に出せます!

従来のUIはレイアウトを頻繁に変えることは想定されてない気がしますが、Pinnedモードでは出したり消したり重ねたり動かしたりSceneビューの上に乗せたり乗せなかったり自由自在です

これを使ってるとUnityのUIは出来が悪いのでは?と思えてきました。不要なタブを手軽に隠したり復帰させたりできず、機能同士が密接に絡んで複数タブ出してないと操作しにくいってなんか古臭くない?

Quick Create

Unityでゲームオブジェクトを作るときよくわからない位置に生成されてイラッと来ることが多々あります。ありますよね?

PEEKではShift+Command+左クリックでマウスの指し示した場所にオブジェクトを生成できます。しかもマウスが指定した場所に接地する形で生成されます

クリックするとリストが表示され、これにはUnity標準のアセットに加え、PrefabやSpriteなども検索できるようになっています。階層を辿ることもできますが、アセットの名前で指定するといつでも即座に出したいオブジェクトを出せて便利です

また、生成されるオブジェクトは生成時にクリックしたオブジェクトと同じ親をもちます

PrefabをHierarchyビューにドロップしてで置を調整して…とか、Sceneビューにドロップして親子関係を直して…とかそういった手間が減らせます。アセットの配置が楽になりますね!

ついでに言うとQuick Createで生成されるゲームオブジェクトはCube(1)みたいな連番が付与されることはありません!!!あれ邪魔以外の何物でもなかったので地味に嬉しい。

Groups

複数のオブジェクトを選択しCommand+GでTransformのみが設定されたGameObjectを親に持つローカルグループとしてまとめることができます。この親オブジェクトのPositionは選択した各要素の中間位置に設定されます。

親がTransformのみのを持つゲームオブジェクトであればCommand+Shift+Gでグループを解除することもできます。

Command+Alt+Gを押した場合はシーンのルートにグローバルグループが作成されます。この場合は親のPositionはワールド原点です。

これグループっていうかただのGameObjectのペアレントじゃんと一瞬思いましたが、PEEKではGroupの親にはPositionの情報だけを持たせ、子要素への影響を最小限にすることを想定しているようです。
それを実現するため親オブジェクトをただのグループとして扱う機能、つまり親のTransformが子要素に及ぼす影響をリセットする機能がいくつか用意されています。

親のスケール変えたら子も変に伸びた!とか、
親は45度回転してるけどこれから追加する子は回転して欲しくない!とか、
子を動かしまくってたら親の中心がめっちゃ離れちゃった!
という時に2クリックで子の配置はそのまま親をいい感じに子の中心に戻せる機能があります。

ロードマップとか出てないので正確なことはわかりませんが、おそらくグループ周りの機能拡張はメインの売りとして強化されていくのではないかと思われます。たぶん目指してるのは一度グループ化したら中身は意識せずグループ単位で操作でき、同時に意識しなければいけない要素を最小限にしつつ、ユーザーが望む単位のグループで操作できるようにすることじゃないかな、そうしてくれないと不便だし。

まだ未確認ですが右クリックで親を選択する機能が追加されたっぽいです、仕事早すぎ

Hierarchy Popup

ゲームオブジェクトを選択した状態でSpaceを押すと選択されたオブジェクトと親子関係にあるゲームオブジェクトのみが表示されるローカルヒエラルキーを表示できます

ESCを押して何も選択してない状態でSpace、またはCommand+Fでグローバルヒエラルキー(普通のやつ)が表示されます

マウスの近くに表示されるのでカーソル移動の手間と時間はかなりせつやくできますし、ステージがでかくなればHierarchyで一目で確認できない数のオブジェクトが溜まっていくので一部だけ表示できる機能は有用です。
これ使いこなしている前提で操作感を設計したアセットだと思うんだけどまだ全然慣れない😭

Mass Replace

選択したオブジェクト(複数可)を一発で別のオブジェクトに入れ替える機能。
スケールは継承されず、位置や回転はシーンにある置換元のオブジェクトに合わせて再配置されます。
地味に便利です。
これくらいUnityの標準機能で用意してほしい


実際使えるアセットなのか?

まだ登場したばかりで最低限の機能が実装された段階でしかないとは思いますが、現時点でも素のUnityが持つワークフローを大きく変えるアセットです。

ここに書いた他にもシーン上のドラッグ操作だけでコンポーネントの参照を設定できたり、参照しているオブジェクトをポップアップで表示できたり、アイコンがモデルのプレビュー画像になってたりヒエラルキーからコンポーネントにアクセスできたりと細々とした改良があって普通のUnityに戻るとあーなんでこの機能は標準で搭載してないんだろう?と不満を感じるようなしっくりくる機能が多いです。

買う価値は十分にあると思います。実用的です。
ただ、現時点ではシーンの構築をサポートする機能以外は弱いので、3Dでステージ作る人にはいいと思うんですけど2Dとか、シーンでの作業が重くないノベルゲーとかではむしろ不便になるかも?

以下、残念ポイント

プレイモードへの移行が不便

基本的にUnityでPlayモードに入るとGameビューが表示されると思いますが、PEEKで全画面表示だと何も出ません。Sceneビュー上にオーバーレイでGameビューが出せるはずなのですがPlayモードに入った瞬間何処かに消えてしまい、改めて出そうとしても表示できません。

プレイモード中はシーンいじっても反映されないのでシーンビューを大画面表示する意義は薄いし、いい感じにGameビューに切り替わってほしい…ていうかプレイモードの変更を保存する機能を公式で用意してほしい。

グループ機能の半端さ

親のGameObjectをただのグルーピングの機能として扱いたい、という設計思想はなんとなく伝わってきますし、発想は良いと思うのですがまだまだ機能が足りてない印象です。

机の上に小物を配置した、今後はこれをグループ化してグループ単位で扱いたい!と思っても不可視の親オブジェクトはSceneビュー上のクリックで選択できないのでHierarchyビューでしかグループを選択できません、Hierarchy Popupで通常のUIよりはマシになってるとはいえ手間です。

昨日更新でまだ未確認ですが選択に関する不便さは最新版で追加されたProbeで解決されているようです。

ProGridとの相性が悪い

UIが重なってしまっているしCreator Toolによって生成されたものはグリッドにスナップされてないので逐一動かさないと意図通りの位置に揃いません。Group機能も中心位置が子要素の配置によって決まるので正確なコントロールが難しいです。

シーン構築に主眼を置いたアセットではないとはいえ、現時点ではほぼそんな感じの機能しかないのに角ばった建造物を作ったりするのには使う気にはなりません。ProBuilderとの連携は推してるのでProBuilderで部屋を作って、その中にアセットを配置する、といった感じのワークフローが想定されているのかも。

不可視、大きいオブジェクトに弱い

通常はHierarchyを意識せず、Sceneクリックで色々できることが売りのアセットですが、シーンの大部分に重なるような形でCanvasとかフォグを出しちゃったりするとめっちゃクリックの邪魔になります。オブジェクトの選択などでHierarchyの操作に囚われてしまいこのアセットを使う旨味ががっつり減ります。特にキャンバスは標準がでかいのでマジで邪魔です。

2019.2くらい?で追加されたシーン上の可視性コントロールがあればいいんですがそれ以前のバージョンだと…あんまり使いたくはないかも…

昨日更新でまだ未確認ですが選択に関する不便さは最新版で追加されたProbeで解決されているようです。


まだ気になる点も多いですが、この操作感が気にいる人は結構いると思うので、ぜひ試してみてほしいです。

機能性もさることながら、パブリッシャーがLudiqというのがいいですね。
今必要な機能がなくてもちゃんと成長しそうなので安心して買えます。(こういう発想してると積みアセットが増えるんけど楽しいからしょうがないよね!)

Unity

Posted by khronos2510