[Unite2018] パーティクル・マニアクス
公式サイト
http://events.unity3d.jp/unitetokyo2018/session-lineup.html#session28
講演者
Karl Jones (Unity Technologies Software Developer)
SlideShare
資料なし(ライブデモのみ)
概要
- legacy particlesは2018.3でオワコン
- particleの新機能紹介
内容
Ring Buffer Mode
- 一番上のタブの下の方に追加
- パーティクルの最大数
- 最大以上になると、古いものから消えていく
pause until replace
- フェードアウトして消えていく
loop until replace
- 最大数以上に作れる
- ゆっくり消えていく
Shape Module
- Shapeモジュール
type module
->ping-pong
- speedを下げていく
- meshのvertex, edgeから順番に発生させる
- Shapeモジュール
External Forces Module
Texture Sheet Animation Module
- 固定FPS
- minmax勾配なども
- bake mash機能
- collisionで利用するなど
Line Renderer Editor
- エディタ上でマウスをクリック&ドラッグで軌跡描画
- 点のクリックをつなげることも可能
- 一度作成した点の編集も可能
Simple Renderer
の設定によって粗さの設定も可能- bake meshにより、作成したものをmeshにして再利用することも可能
- エディタ上でマウスをクリック&ドラッグで軌跡描画
UI Particles
- textureのマスクを掛けることが可能
automatic Culling Enabled
- cullingによって自動updateがかかる?
- 見えるparticleのみをupdateさせる
Particle System C# Jobs
- ジョブシステムの統合
- スクリプト内で直接変数を変更できる
[Unite2018] 実践的なパフォーマンス分析と最適化
公式サイト
http://events.unity3d.jp/unitetokyo2018/session-lineup.html#session24
講演者
Kerry Turner (Unity Technologies Developer Relations Engineer)
SlideShare
概要
- プロファイリングのベストプラクティス
- メモリ消費を抑えるための設定事例
- tips
内容
- プロファイリング改善
- Unity上で特定しない
- プレイヤが体験するゲームを体験できない
- メモリの最適化は実機上で変わる
- 実際のHWでプロファイリングする
- バージョン、プラットフォームを合わせる
- クロスプラットフォームではそれぞれプロファイリングする
- マルチプレイの場合はそれも考慮
- ゲーム全体でプロファイリングする
- 全体のリソースの影響を考慮する
- どの変更がどんな影響が与えたか、変更前と後で確認
- Unity Profile Windowの利用
CPU資源管理
- Deep Profiling
Profiler.BeginThreadProfiling()
- Unity Frame Debugger
- グラフィックAPIに送られたコマンドを調べる
- Unity Memory Profiler
- Platform-specific tools
- OSレベルのプロファイリング
- Unityツールに対して補完的なもの
- GPU確認、コアな処理
- Unity上で特定しない
- 問題解決
- ランタイムメモリ利用
- Asset(texture, oudio)など
- アセット利用のルールを作る
- Ex) 特定の解像度以上にしてはいけない
- AssetPostProcessor
- ルールをスクリプトで管理
- 作成、利用を自動化
- 過剰に複雑なassetを使う
- 完璧な陰影をつけた1セント硬貨的なやつ
- 利用対効果を考える
- Read/write enambed texture
- 2個のテクスチャ
- GPU用
- CPU用(余分)
- CPU用のメモリを解除してメモリ効率を半減
- Texture 2D
- デフォルトでenable
- Readonlyにする
Texture2D.Apply(updateMipmaps, true)
- 2個のテクスチャ
- Mip map
- 33%のテクスチャサイズの増加
- デフォルトでtrue
- カメラの距離が変わらないならdisable
- Ex) UIなど
- Read/write enabled mashes
- GPU用
- CPU用
- メッシュサイズを倍以上にしてしまう
- Enableにするとき
- コード上でメッシュにアクセスする場合
- mesh colliderでマイナスのscale
- mesh colliderでmeshをななめに利用
- コード上でメッシュにアクセスする場合
mesh.UploadMeshData(true);
- readonlyにする
- Vertex Compression
- player settingで指定
- 頂点チャネル数を指定
- ただし精度は多少落ちる
- 静的バッチ含め全てに適用される
- 上書きされている場合は無効
- 上書きされる条件
- import設定
- mesh compressionで設定されている
- meshのread/writeがenableのとき
- import設定
- 上書きされる条件
- player settingで指定
- animation compression
- 出来る限り設定する
- animation compression errorの調整により精度の調整も可能
- デフォルトはoff
- legacy clipのとき
- keyframe reduction
- generic and humanoid clipのとき
- optimal
- legacy clipのとき
- audio load type
- 推奨設定
streaming
if > 1 MBcompressed in memory
if > 200KB and < 1MBdecompress on Load
if < 200KB- 解答されるバッファサイズが上回ってしまう
- 推奨設定
- audio compression format
- load times
- animation CPU optimization
Unity Animation System for clips
if > 300 curvesLegacy for clips
if < 300 curves- ex) UI、チェストを開くなど
- ただし、ローエンドなコアの場合の結果であることに注意
- Humanoid or Generic?
- Humanoid
- retargeting, IKを使う場合
- Generic
- そのた
- Humanoid
- Culling Mode
Always Animate(default)
- すべてのanimationを実行する
Cull Completely
- 何も実行しない
Cull Update Transforms
- transform, retarget IKをスキップ
- Animator bindings
- ランタイムメモリ利用
- Tips. more talk like this
- Unite Europe 2017
- Unity 2016
- Unite Europe 2016
[Unite2018] ユニティちゃんトゥーンシェーダー2.0使いこなしスペシャル ~こだわりの活用法を紹介します!~
公式サイト
http://events.unity3d.jp/unitetokyo2018/session-lineup.html#session15
講演者
小林 信行 (ユニティ・テクノロジーズ・ジャパン合同会社)
京野 光平 a.k.a. ntny (ユニティ・テクノロジーズ・ジャパン合同会社)
暁 ゆ~き (フリーランス 3DCGキャラクターモデラー)
あいん つばい (フリーランス 3DCGキャラクターモデラー)
SlideShare
https://www.slideshare.net/UnityTechnologiesJapan/unite-2018-tokyo20
概要
- ユニティちゃんトゥーンシェーダー(UTS) v2.0.4の新機能紹介
- カラー設定
- 光源を強調したカラー強調
- 明色/暗色
- 光源方向マスク
- etc
- モデラーのテクスチャワークフロー
- 暁 ゆ~き
- あいん つばい
内容
- 暁 ゆ〜き
絵的な材質感にこだわった効率的なワークフロー- Unlit vs UTSv.2
- High Color Mask
- 金属部分以外の不要なスペキュラ(光沢)を抑える
- Rim Light Mask
- 材質によって光量を調整
- 服の中に光を入れない
- 服のシワの表現
- Mat Cap
- 金属の反射を環境に合わせる
- Outline Sampler
- ローポリモデル特有の髪の分かれ目の汚れを解決
- UTS_Edge Detection
- 輪郭・境界の表現
- あいん つばい
Emissiveが印象的なモデル- マテリアルのEmissive設定と、Post Processing StackのBloom設定
- Rimlight Feather Offの効果
- リム部分のぼかし(feather)をカットしたリムライトを加算
- Color Map + Emissive Texture
- ブレードの刃文をEmissive Textureに書き込み
- 明るい場所はEmissiveの効果が薄い
- Color Mapで書き込んで表現
- ntny流UTS2.0使いこなし講座
- 描画順トリックは古のテクニック
- 「髪の上に眉毛」と同じ理屈
- Light Wave、ステンシルの利用(max用語)
- 横を向いたときに逆の目が透ける
- 遮蔽用シールドを内部に配置して解決
- 白目の陰影も三段強調
- 瞳
- 口パク
- 描画順トリックは古のテクニック
- 使いこなしのコツ
- 暁 ゆ〜き
- 絵がどう書かれているのか理解する
- UTSでどう表現するかの選択(画材を選ぶ)
- あいん つばい
- 色々使ってみる
- ntny
- ツイッターで聞く
- #ユニティちゃんトゥーンシェーダー でつぶやく
- 暁 ゆ〜き