Unity 2017 Tokyoで使用された資料が逐次公開されはじめています。
タイムテーブルから取得出来ます。
デモがベースで資料だけ見てもナンノコッチャという物もあるかもしれませんが、割と良い感じです。
ただまぁ、タイトル画像が全て一緒なのは、若干見栄えが悪い感も無きにしもあらず。
中には「「魔法使いプリキュア!」EDでのUnity映像表現の詳細解説」のような、資料・動画非公開の物もあります。
現地で見れた人はラッキーという事で。
Unity 2017 Tokyoで使用された資料が逐次公開されはじめています。
タイムテーブルから取得出来ます。
デモがベースで資料だけ見てもナンノコッチャという物もあるかもしれませんが、割と良い感じです。
ただまぁ、タイトル画像が全て一緒なのは、若干見栄えが悪い感も無きにしもあらず。
中には「「魔法使いプリキュア!」EDでのUnity映像表現の詳細解説」のような、資料・動画非公開の物もあります。
現地で見れた人はラッキーという事で。
ちょっとハマったので一応メモ。
時間がないので簡単に。
Match Targetを使ってデモを作ってる最中、このエラーが出てきました。
Calling Animator.MatchTarget while in transition does not have any effect.
書いてある通りで、MatchTargetはノードの遷移中には効果がないとの事です。
別にワーニングですし欲しい挙動は動いては居るので問題が無いといえば無いですが、ワーニングのパフォーマンスと精神衛生上消した方が良さそうなので、消します。
面倒なので、animator.IsInTransition(layerIndex)でサクっと消します。
Unity 2017でSpritepackerの仕組みが新しくなったみたいです。
Unity 2017でSpriteをパッキングする仕組みが新しくなりました。
機能はSprite Atlasという名前で、ファイルベースで参照アセットを準備し、運用するタイプになるみたいです。
以前のSpritePackerはテクスチャにPacking Tagを指定してパッキングする方法でした。
新しいパッキングのシステムでは、Object for packingの項目に登録したい項目を指定する事で、その項目をまとめてパッキングしてくれるみたいです。
パックできる単位は以下の項目。
例えば下のアニメーションでは、2Dフォルダを指定することで、2Dフォルダ以下の全てのスプライトがパッキングされます。
ちなみに、複数のSpriteAtlasから単一のSpriteを指定する事も出来ます。この場合、自動でSpriteをロードした場合、どのAtlasから参照されるのかは微妙です。
この機能では、圧縮する設定はAtlas単位で行います。
要するに、圧縮フォーマットが異なっていても再圧縮されます。
Legacyの項目を設定すると旧SpritePackerが使用されます。
Legacyではない項目を使用すると、Packing Tagはガン無視されます。
以前はパッキングしても特に意識なく使用出来ましたが、SpriteAtlasは意識してコントロール出来るようになったみたいです。
作成したAtlasはファイルとして確認出来ます。
このプレビューに見えている項目は1ページ目らしく、が必ずしも含まれる全てではない点に注意が必要かもしれません。
アセットなので、Resourcesに配置して動的にロードも出来ます。但しSpriteAtlas=テクスチャという訳ではないので、そこんとこ注意が必要です。
AssetBundle等にAtlasを含める場合、コチラのほうが運用が楽そうです。
アセットとしてSpriteAtlasが指定出来る事は、SpriteAtlasからアセットを取り出せる事も意味します。例えば下のように、GetSpriteを指定すると、Atlasに含まれるスプライトが取得出来ます。
namespaceはUnityEngine.U2D。何だこの「U」は…unity…?
少し面白い挙動なのが、Include in buildです。
この項目のチェックを外すと、Atlasが参照しているSpriteが表示されなくなりました。
主に下の用途で使用されます。
特に使い勝手が良さそうなのが、フォルダ・Sprite単位のAtlas化と、SpriteAtlasから直接Spriteを引っ張り出せる機能です。
それと、Spriteのテクスチャインポート設定を一括で設定出来るのは、悪くないような気がします。
生成した瞬間は勢いがあるが、すぐに速度が落ちてゆっくりになるパーティクルについてです。
作り方をど忘れしたので、ココにメモしておきます。
パーティクルの移動速度は、パーティクル毎にEmit時にStartSpeedで指定されていた値が使用されます。
例えば下の設定の場合、パーティクルが生成時に15~30の速度が設定され、その速度は消えるまで固定です。
正確には、そこからVelocity Over LifetimeやLimitVelocityOverLifetimeで減加速が入ります。
あとNoise等で動きに変化が加えられたり、ColliderやGravity Modifilerで重力や物理っぽい挙動が加わったりしますが、速度で言えば大体Start Speedです。
粒子…というか、質量が低い物は少ない力で吹っ飛ぶ割に空気抵抗等で即座に減速するという挙動が脳内でマッチします。
ので、速度が固定で動いてもらっては困ります。
すべきことは単純で、Limit Velocity Over Lifetimeを使用するだけです。
Speedが減速する速度の設定なので、StartSpeedがこの値以上設定されている場合は、この値になるまで減速されます。
Dampenは減速速度です。1の場合は一瞬で減速しますが、0の場合は一切減速しません。0.5あたりの場合は、ユックリ減速します。
Speedを0にしてDampenを0.5辺りにすることでも起動時から減速開始ししばらくすると停止は再現出来ますが、もう少し綺麗に動かしたい場合はカーブを使用します。
カーブで、Lifetime内での速度をカーブ指定出来ます。例えば下のカーブでは、
Lifetimeが1秒くらいと仮定した場合、
という挙動になります。
なお一度減速すると加速はしないっぽいです。