テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unity2019.3

【Unity】GameObjectもECSも使いたい Hybrid ECSについて

ECSは現状正直な所、物量が必要な部分をECSで試して大まかな部分は既存のMonoBehaviourやUnityEngine系のコンポーネントを使うのがベターな回答です。今回はECSとGameObjectを連携させる手法についてを紹介します。 検証バージョン:Unity 2019.3、Entities …

【Unity】JobSystemが動作しているスレッドの番号を取得する

複数のジョブで処理を行う時、全てのジョブが同じバッファに格納しようとすると当然競合を起こします。コレを回避するために排他処理を行う訳ですが、それを行わず計算結果を格納する方法を考えてみます。 ジョブ毎に計算結果を格納する対象を切り替える 利…

【Unity】JobSystemが使うワーカースレッドの数を制限する

たぶんUnity 2019.3から、ワーカースレッドの数を制限出来るようになったっぽいです。 ワーカースレッドの数を制限する ワーカースレッドの数 ワーカースレッドの数を制限する UnityのJobSystemは基本的に「使用できる全てのスレッドを使用」します。これは…

【Unity】低フレームレートでも、きれいな入力を受け取りたい

InputManagerでは入力情報はフレームレートに強く依存しており、その中間で取得する情報の大抵は破棄されていました。 InputSystemでは中間の情報をバッファとして確保・使用できるようになったので、それを使用してフレームが低くてもキレイな線を引ける方…

【Unity】Meshの頂点をJobSystemとBurstで操作する

Unity 2019.3からMeshの SetVertex にNativeArrayが使用できるようになったので、BurstとJobSystemでメッシュの頂点を動かしてみました。 特に難しいことはしていなくて、mesh.SetVertices(Vertices); で頂点情報を注入しているだけです。他のmesh.SetNormal…

【Unity】スプライトアニメーションの再生速度がやたらと早い時の対処

スプライトアニメーションを今まで通りドラッグ&ドロップで作成した所、やたらとアニメーション再生が早いという事になりました。例えばトップ絵の左のように、速歩きのような速度でアニメーションを再生してしまいます。出来れば右のような速度に設定した…

【Unity】Unityエディターを拡大表示する

文字が小さくて読めない UIのサイズを変更する 変更方法 感想 文字が小さくて読めない Unityで文字が小さくて読めんという話を稀に聞きます。実際文字が小さい事もありますし、Pro Skinは色的にサクッと認識出来ない事も多いです。また、異様に小さいボタン…

【Unity】Profilerの表示フレーム数を300から2000に増やす

プロファイラーでキャプチャーするには、5秒以内に問題を捉える力が必要… UnityのProfilerが保存できるフレーム数は300に限定されていました。これは60FPSで動作するゲームでは約5秒に相当します。つまりProfilerで問題を確認する場合、フレームの問題が起こ…

【Unity】SerializeReference、Inspectorウィンドウでinterfaceを使用する

Unity 2019.3で利用可能になった SerializeReference Attributeについて紹介します。 SerializeReference interfaceをシリアライズ 複数のアクションがある場合にアクションを差し替えられるようにする アクションを複数登録する 感想 関連 SerializeReferen…

【Unity】Device Simulatorでノッチとセーフエリアの対策

Unity 2019.3で確認できるDevice Simulatorを使用して、ノッチやセーフエリアといった色々と面倒くさい問題の対策してみます。 Device Simulator インストール セーフエリア情報を元にUIを調整可能にする ノッチの範囲だけ回避したい 対応する端末が一覧に無…