Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

勉強会レポ : Unity道場6月〜新しいPrefabワークフロー入門とVectorGraphics〜

勉強会のレポート(メモ)です。
参加したのはこちら、「Unity道場6月〜新しいPrefabワークフロー入門とVectorGraphics〜」
会場はユニティ・テクノロジーズ・ジャパンさんです。

meetup.unity3d.jp

ハッシュタグ : #Unity道場

 

f:id:Raspberly:20190628063511j:plain



 

 

 

動画はこちら

www.youtube.com

www.youtube.com

 


Unity道場 2019 6月

 

 

 

 

 

1. 新しいPrefabワークフロー 入門

スライドはこちら

learning.unity3d.jp

新しいプレハブワークフローは実質NestedPrefab(ネステッドプレハブ)です
これと和解できるのかどうかというお話を今回はします。

事前アンケート

2018.3以降使っている方は74.4%もいました。
新しいプレハブワークフローを理解している方は20%。

そもそもプレハブとは

インスタンスしたオブジェクトをアセット化する機能
これはアタッチしたコンポーネントなどもまとめてロードしてくれます
また、プレハブを参照して動的に生成することもできる

特徴

・またプレハブの大本を書き換えることで、全てのプレハブも更新できる
・分業しやすい

シーンに配置したプレハブはシーン内で値を変更するとユニークな値になり、
大本の変更を受けなくなる

プレハブの編集方法

2つあります
・シーンに配置後、変更してアプライ
・アセットエディターで編集

2018からプレハブの階層関係を作ることができるようになりました(ネスト)
これでプレハブを持ったプレハブを作ることができます

新機能 Variant

Variant(バリアント)プレハブでは普通のプレハブと同様、個別でパラメータを持たせることができるが、
これは変更してもハンドルが切れることなく、オリジナルの変更を受け取ることができるため、
マテリアルなどサクッと一括変更でき、手軽にキャラクターを量産できる。

 

 


ここまでが基本的な部分

ここからは修羅の道

 

NestedPrefabとハンドル

プレハブはIDしか持っておらず参照しているだけ(Unity4までは全部書き込んでいました)

パラメータを書き換えた時、差分となるその値だけ保持します。
これはNestedでも基本的に同じで、バリアントも基本は同じ。

Nestedではオブジェクト、コンポーネントの順番変更とオブジェクトの削除は追跡できず対応できない。

そのため大きく書き換えるときは、右クリックからUnpackPrefabでハンドルを解除しましょう。

ビルド時の動き

Nestedはビルドすると全部ベイクされます(IDを追っかけたりしない)
バリアントも同様。

参照してる(重複しているように見える)ことはあるが実際に格納されているわけではない。

 

NestedPrefabとの付き合い方

プレハブは必要な項目のみ変更、競合を起こさないように変更しましょう。
変更したパラメータにはは青いマーカーがつきます。
Apply時にどれが変更されているのか確認することがdけいます

プレハブエディターはアセットを直接変更するエディター

つまり差分などは生まれないため、どれを変更したのかが読めない。
そのため競合に注意。

YAML Marge

プレハブを構文的に解析して、競合を起こしている箇所だけをマージしてくれる機能
マイナーですがとてもいい機能です


プレハブエディターではApplyするな

階層構造を持つプレハブを編集した場合、
階層が浅いほど(親に近いほど)影響を受けにくく、深いほど影響が大きい

なので影響をうけるものをできるだけ減らすようにしましょう。

(例えば、孫オブジェクトを変更した場合、それを参照している全ての親プレハブ、子プレハブに影響がでます)

そのためApplyしない方が無難

バリアントはぜひ使ってほしい

エディター拡張を使わなくても一括変更できます

キャラクターなどのモデル変換もバリアントを使いましょう。
ボーンの構造の変更やコライダーの変更も全て追跡してくれます。

バリアントを使う場合、バリアントであることがわかる名前にしておきましょう。
(V〇〇とか〇〇Variantのように)

なぜこんなにバリアントを推すのか

2018.3及び、2018.4では複数選択でプレハブの編集ができないため
(2019.1では復活します)

 

Unity2018.3~2018.4で複数のプレハブを編集したい場合どうするか 

スクリプトを自作することでできます。

こちらも参考になります。

github.com

 

 

 

参考になりそうな資料

tsubakit1.hateblo.jp

light11.hatenadiary.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. VectorGraphicsで作るエモい表現

スライドはこちら

learning.unity3d.jp

 

エモい表現とは

動画で確認してみてください。


VectorGraphicsでできること

SVGのインポート
・ランタイムのメッシュ生成
※2018.1以降での利用を推薦

パッケージマネージャーからインポートできます。

ベクターグラフィック

画像には2つあります。
ラスター形式:点が大量に並んで構成される。jpegpngはこっち。
ベクター形式:位置や色を数値で記録したもの、引き延ばし時はラスタライズされるためきれい。


SVGのインポート

パッケージをインストールするとそのままD&Dするだけでプロジェクトに入ります。
昔は専用のアセットを使わないとインポートできなかったらしい。


普通のスプライトとの違い

SVGは元がテキストなのでとても軽い。

じゃあSVGはどこでも使えるかというとそうでもない。
複雑な形状を含まない画像と相性がよい、

 

ランタイムのメッシュ生成

詳しい手順は動画で確認してみてください。

 

 

単純で規則的な図形であればシェーダが速くて良いが、
式に落としにくいものや、有機的な表現であればVectorGraphicsでやるのがよい

 

 

エモいUI

・UI
インフォグラフィック
モーショングラフィックス

こちらも動画がわかりやすいので確認してみてください。

動画編集ソフトとの比較

動画作品をつくるのであれば専用のソフトを使った方がいい。

ただ圧倒的に機能が足りていないため動画作品を作るときは専用ソフトを使った方がいい。
特定のエフェクトやローディング画面でのアクセントで使う分にはいいと思います。

 

 

 

 

 

懇親会

 

f:id:Raspberly:20190628070802j:plain

f:id:Raspberly:20190628070815j:plain



 



 

タイムライン

 

 

 

 

 

 

 

 

 

過去のUnity道場まとめ

raspberly.hateblo.jp

raspberly.hateblo.jp

raspberly.hateblo.jp

raspberly.hateblo.jp

raspberly.hateblo.jp

 

間違っている箇所がありましたらコメントにお願いします。