Unity2018.1
面白い議論が上がっていたので、少し試しにやってみました。 顔だけアイコンでマスクをするのは勿体無い バストアップのスプライトを用意する やり方 オマケ:ポリゴンの切り抜き オマケ:Atlasを使用する場合での注意 関連 顔だけアイコンでマスクをするの…
今回はARCoreとAR Kitの両方に対応したマルチプラットフォームAR環境である「AR Foundation」、その最初の一歩として「とりあえず動くもの」の作り方を紹介します。 AR Foundationとは? 使い方 ARのセットアップ 平面の検出をグラフィカルにする オブジェク…
今回はC# Job SystemでTransformAccessArrayを利用した際の、ジョブの分割数についてのお話です。 TransformAccessArrayが並列処理されない? 親が同じならば単一のジョブで実行される ジョブの分割数を制限 複数のIJobParallelForTransformを発行するとどう…
今回はボタンをタイミング良く押すと連続攻撃になる動作を作成します。 格ゲーのようなコマンド入力ではなく、3Dアクションによくあるような非常に単純なもの です。 ボタン連打でコンボ攻撃 1. ボタンを押したら殴る 2. ボタンを押したら次の攻撃への実現 3…
今回はLight Weight Render Pipelineを既存のプロジェクトに導入してみます。 Lightweight render pipeline Light Weight Render Pipelineを使う Lightweight render pipeline Light Weight Render Pipeline(LWRP)は、Scriptable Render Pipelineで提供す…
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…
今回はPackageManagerがダウンロード(キャッシュ)する先のフォルダの確認と、PackageManagerが提供する機能を改造する方法について紹介します。 PacakgeManagerは機能をUnityエディターに追加する PacakgeManagerでダウンロードしたファイルを保存するパス…
CinemachineでRoll A Ballのカメラワークをやってみます。 Roll a Ballとカメラワーク カメラが追跡する対象を指定する カメラの移動設定 最も基本となる動作に近いTransposer & World Space 対象の移動先を予測して向きを変える 世界の裏側を見せないように…
GTMF2018の資料です。 SRPの導入方法とメリット、SRPを利用したトリックについて紹介されています。 【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう from UnityTechnologiesJapan www.slideshare.net ECSとC# Job System、Burstに…
今回は、何らかの衝撃があったときにカメラを振動させる方法についてです。 カメラの振動 CinemachineのImpulseを使う 衝撃を発行する(コライダー編) 衝撃を発行する(コード) Timelineから振動を呼ぶ 感想 関連 カメラの振動 何か衝撃があったとき、カメ…
今回はECSのComponentDataの追加や削除・変更といった動作をJobSystem上から指示する方法についてです。 C# Job SystemからComponentDataの追加・削除等を指示する BarrierSystem サンプルコード IjobParallelFotやIJobProcessComponentDataで使用するには?…
今回はUnite Tokyo 2018で紹介された「実践的なパフォーマンス分析と最適化」のセッションの動画から得られた物をメモしていこうと思います。 なおセッションの音声をそのまま文字にするのではなく、メモを元に自分なりの理解を文章に起こしています。内容の…
今回はECS(Entity Component System)とはどういった機能かといった話について書いていこうと思います。この情報はハッキリ言えば知らなくても問題ない情報なのですが、知っておくとECSを採用するべきケースや作り方に迷ったときに助けになるかもしれません…
今回は先程公開された、ピクセルパーフェクトなスプライト表現をするために(想定)ピクセルに合わせてスプライトやカメラの位置を調整してくれる機能PixelPerfectCameraについてです。現在はPackageManagerのstagingで提供されています。 想定解像度に合わ…
https://github.com/Unity-Technologies/vector-graphics-samples/blob/master/Documentation/vectorgraphics.md UnityのPackageManagerにSVGを利用するライブラリが追加されました。Unity 2018.1でプレビュー版を使用することが出来ます。 どんな事が出来る…
今回はNativeArrayの開放の方法についてです NativeArrayの削除 .Tempは普通に開放 .TempJobは少し楽 サンプル NativeArrayの削除 NativeArrayでコンテナを作る際、アロケータのモードに「Temp」「TempJob」「Persistent」の3つを選択することが出来ます。 …
今回は構造体を配列(NativeArray)にした時の、そのアクセスについてです。 ECSとJobSystemは構造体の配列を使う 配列からrefやoutで参照を貰う事は出来ない そうだ、unsafeを使おう ArrayElementAsRefで要素のrefを取得する 関連 ECSとJobSystemは構造体の…
今回はTimelineの機能を使用するが、「目標地点が異なる」場合を対処する方法についてです。例えば「距離の異なる崖をジャンプで超える」や「位置が毎回異なる敵に攻撃を仕掛ける」といった物をTimelineで制御する場合の話です。 Timelineアニメーションの「…
今回はunityでunsafeなコードを使う方法についてです。 以前はUnityは公式的にはUnsafeはサポートしていませんでしたが(unsafeを使う手順は存在して、IL2CPPもunsafe向けコードを出力していた)、Unity 2018.1辺り?からオプションとしてunsafeに対応したみ…
Unity 2018.3以降の場合 Unity 2018.2までのTimelineの座標系の話 AnimationControllerがAnimatorにセットされていれば現在位置から移動、無ければ絶対座標からアニメーションを開始する ApplyTrackOffsetはAnimationControllerの有無で用途が異なる Animati…
今日Unite Tokyoで発表されたUnityエディターの日本語化についてです。 Unityエディターの日本語化 日本語化の手順 Unity未インストールの場合 もしくはUnityHubでインストールした場合 POファイルを入れたなら 関連 既にインストールしている場合(使用不可…
簡単なサンプルではなく、ECSを大規模に使用した技術デモ「Unite Austin Technical Presentation」の紹介です。 Unite Austin Technical Presentation ユニットの動作や攻撃にはECSが使用されている キャラクターアニメーションは頂点シェーダー 状態の切り…
今回はC# Job Systemを使ってるとよく見るエラーについてです。 A Native Collection has not been disposed, resulting in a memory leak. JobTempAlloc has allocations that are more than 4 frames old - this is not allowed and likely a leak nvalidO…
サンプルを色々といじっていた所、どうも影が出なくなる現象に当たったので、その原因と対策についてココに書いておきます。 影が出ない ”影”を無効化する設定 光が影を出していない 物質が光を遮らない SceneViewの設定 それでも駄目なら 関連 影が出ない …
今回はUnity 2018から追加されたPlayerLoopを使用して、Unityのイベント(UpdateやFixedUpdate等、Physicsホニャララ)といった処理に独自のイベントを追加したり、カスタマイズしたりします。 Unityが呼ぶイベント 使い方 標準イベントの一覧を取得する Pla…
今回はECSとコンポーネントの連携についてです。 コンポーネントとECSの連携、何故? ECS Hybrid (ECSとコンポーネントとの連携) ComponentをEntityに登録する ComponentDataをComponentにする ComponentからComponentDataを操作する 関連 コンポーネント…
今回はリアルタイムライトがカクカクになる場合の対処についてです。 ライトがカクカクになる問題 Shadow Mapの解像度はどのようにして決まるのか? ライトがカクカクになる問題の対策 Shadow Mapの解像度を上げる 解像度を有効活用する ポイントライトの場…
今回はProBuilderで作ったメッシュに色を付ける方法についてです。 ProBuilderでステージを作った、しかし単色 ProBuilderで色を塗る 面を塗る 頂点を塗る 関連 ProBuilderでステージを作った、しかし単色 ProBuilderはステージをサクっと作れる割と凄い機能…
UnityのC#コードが公開されてました。 Unityのソースコードが公開 今まではilSpy等逆アセンブリで公開されていたものが無断で公開されていましたが、キチンとオープンになったみたいです。 公開範囲はエディターとプレイヤーの範囲ですがC#のみで、C++で記述…