2018-04-01から1ヶ月間の記事一覧
簡単なサンプルではなく、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の設定 それでも駄目なら 関連 影が出ない …
今回は"通常はFreeLookカメラだが特定の状況では横スクロールアクション"のようなカメラに切り替わるのをやってみます。 カメラの位置や動きで3Dゲームの手触り・難易度は大きく変わる 実際の手順 なぜDolly Cameraなのか? カメラの位置や動きで3Dゲームの…
ちょっと欲しいと思ったので、SpriteをMeshに変換する方法を探してみました。 Spriteという機能 Meshは使えるがSpriteでは使えない機能 SpriteをMeshに変換する なんでこんなこと書いた! 言え!! 関連 Spriteという機能 Unityは2D表現の機能を追加するにあ…
今回はUnity 2018から追加されたPlayerLoopを使用して、Unityのイベント(UpdateやFixedUpdate等、Physicsホニャララ)といった処理に独自のイベントを追加したり、カスタマイズしたりします。 Unityが呼ぶイベント 使い方 標準イベントの一覧を取得する Pla…
今回はECSとコンポーネントの連携についてです。 コンポーネントとECSの連携、何故? ECS Hybrid (ECSとコンポーネントとの連携) ComponentをEntityに登録する ComponentDataをComponentにする ComponentからComponentDataを操作する 関連 コンポーネント…
今回はUnityの2Dゲームを割と簡単に作れる 2D Game Kitで、キャラクターの差替を行ってみます。 2D Game Kit チュートリアルは翻訳済み キャラクターの差替方法 前提:必要なアニメーションの一覧 ポイント1:スプライトの大きさを調整 ポイント2:スプラ…
今回はリアルタイムライトがカクカクになる場合の対処についてです。 ライトがカクカクになる問題 Shadow Mapの解像度はどのようにして決まるのか? ライトがカクカクになる問題の対策 Shadow Mapの解像度を上げる 解像度を有効活用する ポイントライトの場…
見て楽しい、覚えるに便利という、控えめに言って神なスライドが公開されていました。 シェーダーお絵描き入門勉強会の資料を公開しました #spzcolabhttps://t.co/kwRANl48uC — setchi (@setchi) 2018年4月11日 内容は板ポリにシェーダーを割り当ててちょっ…
今回は敵とプレイヤーが常にカメラに映るようにするカメラワークについてです。 ターゲットが全て映るようなカメラワーク CinemachineのGroup機能 使い方 追跡対象の登録 カメラの動きの細かい指定(3D) カメラの動きの細かい指定(2D) 関連 ターゲットが全て…
今回はProBuilderで作ったメッシュに色を付ける方法についてです。 ProBuilderでステージを作った、しかし単色 ProBuilderで色を塗る 面を塗る 頂点を塗る 関連 ProBuilderでステージを作った、しかし単色 ProBuilderはステージをサクっと作れる割と凄い機能…
今回は指定したCollider2Dへの最短座標を求める機能について紹介します。 指定したColliderへの最短距離の問題 指定したColliderへの最短距離を求める それで、これは何に使えるのかな? 関連 指定したColliderへの最短距離の問題 オブジェクトから指定したC…
今回は2Dゲームで地面に接触しているかを判定するアプローチについてです。 ピヨちゃん大地に立つ判定 ただし壁や天井は除く 地面の接触判定をする Colliderに接触しているかどうかを取得する GetContactsやIsTouching GetContactsやTouchesで得る値を絞り込…
今回はCinemachineの機能の一つで、カメラが壁を貫通しないようにする方法についてです。 なんとなく微妙なカメラリグ カメラが壁を貫通しなくする 壁に遮られたら違う視点に切り替える 関連 なんとなく微妙なカメラリグ Unity初心者が作ったゲームで、素人…
GDCの時期に行われたセッションの動画が公開されました。 だいたい30個位です。 ECS(データ志向の説明も)やC# Job System、Pro BuilderやCinemachine、機械学習やらAR VR、その他諸々色々な内容が紹介されています。 www.youtube.com 一覧見ても分かりにく…
今回はCinemachineでカメラの被写体サイズをコントロールするのをやってみます。 被写体のサイズ 被写体の大きさをコントロールする 被写体の大きさを求める FOVを固定する場合 FOVが変化する場合 関連 被写体のサイズ カメラでキャラクターを撮影する時には…
今回はCinemachineのVirtual Camera間の切替時間をコントロールします。 #Cinemachine でカメラの切替 pic.twitter.com/aipJxHRTJF — 椿 (@tsubaki_t1) 2018年4月3日 カメラの切替とCinemachine カメラを切り替える カメラの切り替わる時間を制御する カメラ…
Entity Component System(通称ECS)のUnityでの使い方について書いていきます。今回の内容は、Unityの提供するECS APIの基本的な使い方、少しの応用、並列化までです。 UnityのGameObject/Componentとの連携、あと実際の使い方的なものは含みません。正直な…