2018-01-01から1年間の記事一覧
たぶん2017.2辺りからAuto Sync Transformという項目が追加されました。 この設定はパフォーマンスの観点からOFFが推奨ですが、ONにすべきタイミングもあるかもしれないので、その辺り少し紹介です。 Transform変更時に即座にColliderに反映させるAuto Sync …
以前、下のリンクで紹介した「AnimatorのGameObjectを非アクティブにするとステートマシン(その他諸々)が破棄される」問題の、対処法です。 tsubakit1.hateblo.jp Animator.keepAnimatorControllerStateOnDisable keepAnimatorControllerStateOnDisableは…
Twitterのタイムラインで「配列を知らずにシューティングゲーム作る人もいた」というパワーワードを聞いてから頭から抜けなかったので、作ろうとしてみました。 テーマは初診わするべからず(始めた頃のダメダメっぷりを忘れるべからず) 配列を使わずシュー…
GC(ガベージコレクション)はコードに紛れひっそりと忍び込みます。 今回はソレを見つけるのに便利なAPIが追加されていたので試してみました。 AllocatingGCMemoryでGCの発生を監視する 実際に使ってみる 関連 AllocatingGCMemoryでGCの発生を監視する Unit…
今回はECSで並列処理した結果をEntityCommandBufferから削除する方法についてです。以前は出来なかったのですが、最近出来るようになりました。 EntityCommandBufferと非同期処理 EntityCommandBufferと並列処理 コード EntityCommandBufferと非同期処理 使…
Unity Playgroundは組み合わせで作るプロジェクト UIが2D向けに簡略化 インタラクティブな動作 感想 関連 Unity Playgroundは組み合わせで作るプロジェクト github.comUnity PlaygroundはUnityを学ぶという目的で少し面白いデモです。これはプログラミング無…
ECSの基本はSystemです。システムというWorld毎にユニークなオブジェクトが多くのEntityを操作することでゲーム表現を実現しています。 ここで気になるのはSystemを動かす方法、及び止める方法についてです。今回はその辺りについて書いてみます。 Default W…
Unity 2018.3b3からProgressive LightmapperのベイクにGPU accelerationが使用できるようになりました(Windowsのみ) ので実際に使ってみました。 www.youtube.com 使い方 特に難しいこともなく、ライトマッパーをProgressive GPU(Preview)に変更するだけで…
今回はCinemachineで複数のカメラを使用する方法についてです。 複数のカメラを使う Timelineを使用している場合、複数のTrackを用意する Timelineを使用しない場合 複数のカメラを使う ゲームを作成している時、複数のカメラを使用したいというケースが稀に…
「デモとしてのECS」が欲しいなら使いませんが「ゲームとしてのECS」が必要なら知っておくと良い、複数のWorld運用についてです。 ECSを”ゲーム”にするためには 複数のWorldを管理する Worldを作成する 動かすWorldを切り替える Tips World.Active Default W…
UnityのTimelineは座標系に謎の挙動がありましたが、Unity2018.3でもう少し納得できる感じに修正されました。 Unity 2018.3以前のTimelineの座標系 変化したTimelineの座標系 ApplyTransformOffsetはカットシーン向け ApplySceneOffset Auto 私が本当に欲し…
今回はUnity 2018.3でPackageManagerが変化した幾つかのポイントです。 Package Managerに自作パッケージの追加が可能に 実際の手順 パッケージ化するフォルダの作成 package.jsonの記述 パッケージの登録・登録解除 PackageManagerの一覧表示が少し変わった…
ついにUnity 2018.3のベータが開始しました。今回はソコで追加された「コンポーネントを参照しているオブジェクトを見つけ出す」方法について紹介します。 シーン内の参照を検索 見つかるのはInspectorで設定されている場合のみ 実はUnity 2018.3以前も使え…
Unity 2018.2でCameraの設定にPhysical Cameraという新しいオプションが追加されました。この設定が今ひとつ分からなかったので、内容を確認してみました。 Physical Cameraは一般的なカメラ設定をUnityに持ってくる為の設定 Focal LengthとかSensor Sizeと…
今回はMainCamera(もしくは任意のオブジェクト)が動かせなくなったケースの対処方についてです。以前見かけた現象ですが、今回その再現方法を思い出したのでメモしておきます。 カメラが動かせない! zzz... 犯人はCinemachine、貴方です どのように起こす…
今回はLight Weight Render Pipelineを既存のプロジェクトに導入してみます。 Lightweight render pipeline Light Weight Render Pipelineを使う Lightweight render pipeline Light Weight Render Pipeline(LWRP)は、Scriptable Render Pipelineで提供す…
今回はECSのComponentSystemも実行順番をコントロールする方法についてです。 ComponentSystemの実行順番は非常に重要 実行順の確認方法 特定のComponentSystemの前に実行する、後に実行する UpdateInGroupで処理のタイミングを大まかに纏める 関連 Componen…
Unityでは複数のシーンを同時に編集することは可能ですが、シーン間の参照は出来ません。今回はソレをGUIDベースでなんとかするアプローチについてです。 シーン間参照(Multi Scene Reference)が出来ない シーン間参照がやりたくなるケース GUID BASED REF…
Cinemachineのカメラの動きを拡張して、パンするだけのやつを作るなど。標準Composeでも近いことが出来るけど、最初に動いちゃうのがね pic.twitter.com/e1Oak8jAz4 — 椿 (@tsubaki_t1) September 2, 2018 今回はCinemachineの挙動を拡張してみました。 Cine…
今回はECSのEntityを非同期に作成する方法についてです。主に打規模なシーンのロード等に使用できそうです。 Entityの生成や破棄、削除はメインスレッド上で行う ExclusiveEntityTransaction ExclusiveEntityTransactionを使用しつつEntityManagerも使いたい…
Unity 2018.1~Unity 2018.3に渡り追加される機能を網羅的に紹介したスライドです。「こんな機能が追加されるのか!」と中々にテンション上がりそうです。特にNestedPrefabとTerrain改修あたり。 スライド 【CEDEC2018】開発計画に役に立つUnityロードマップ…
今回はUnityで曲線を描く方法について紹介します。 Unity 2018.1でVector Graphicが導入可能に Vector Graphicsでベジェ曲線を描画する Vector GraphicsのAPIを見てみる PathのAPIを見てみる 感想 関連 Unity 2018.1でVector Graphicが導入可能に Unity 2018…
先日のCEDEC 2018の資料です。プロファイルに関する幾つかのアップデートが紹介されています。出来なかった事が出来るようになっている部分もあるので、一度見るオススメです。 一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術 from UnityTechnolog…
今回はTimeline上でビデオクリップ(mp4やwebmといったフォーマット)を再生してみます。 Unityでビデオを再生 Timelineでビデオを再生 手順 ビデオのフェード 問題 Unityでビデオを再生 UnityはUnity 5.6辺りでVideo Playerという機能が新しく追加されまし…
知っているとTimelineを操作する上で少しだけ幸せになれるTimelineエディター操作の小技集です。動作確認:バージョン Unity 2018.2f5 Tips PlayableDirectorをサクっと追加する シーンの中にあるTimelineを開く アニメーションクリップの一部をスローモーシ…
以前紹介したサンプルですが、これが割と使うケースが多いのでちゃんと紹介しようと思います。 Timelineで親オブジェクトを切り替えたい Timelineで親オブジェクトを差し替える 関連 Timelineで親オブジェクトを切り替えたい Timelineは親オブジェクトを差し…
Timelineを用いて、キャラクターを歩かせる(走らせる)方法についてです。以前の移動と異なり、歩行・走行に限りますが複雑な経路を走らせる場合はコチラの方が便利です。 キャラクターを移動させたい パスを決めて、その上を走らせる 移動をTimelineで制御…
TimelineでTrackでバインドした情報を使って初期化したくなります。その場合のアプローチについてです。 PlayableBehaviourと初期化 ○○MixerBehaviourのOnBehaviourPlayのタイミングで初期化 ○○Behaviourの場合 サンプル PlayableBehaviourと初期化 Timeline…
以前の方法が古くなっているので、新しくTimelineで字幕を作ってみます。 TimelineでTextの内容をコントロールする 最初はTimelineでTextの内容をコントロールするだけの簡単なモノを作ってみます。DefaultPlayableのTimelinePlayableWizardで設定するだけで…
ECSを使い切る上で素晴らしい資料が公開されました。 特にジョブシステム上で色々とやりたい場合には凄い参考になると思います。 【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング from UnityTechnologiesJ…