テラシュールブログ

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

【Unity】LWRPのライトで †暗黒の光† をしたかった

今回は昨日チラっと書いた、暗闇をライトで表現するアプローチについてです。 意図的に暗い空間を作る ライトの減算設定を登録 実際に暗黒の光を発する発光体を配置する 注意点 意図的に暗い空間を作る ステージを作るとき、 重要である事を示すために明るく…

【Unity】LWRPの2D向けライト機能を試してみる

今回はLWRPに追加された2Dライトを試してみます。 2Dにライト 導入手順 とりあえずライトを試す 陰影表現の追加 注意事項 2Dにライト 最近の海外で2Dなゲームでは、2Dでもライティング…正しくは法線効果で光源の位置を示しているゲームをよく見ます。 そのや…

【Unity】AddressableでSprite ModeがMultipleなスプライトを使用する

AddressableでMultiSpriteを使用する方法についてです。 Unity 2019.1 Addressable 0.8.4 preview 追記:1.1.4で問題なく使えるようになりました マルチスプライト AddressableはSubAssetを直接ロード出来ない 解決方法 アイディア1: スプライトを取り出す…

【Unity】TextMeshProのテキストに表示するスプライトをAddressableから取得する

TextMeshPro はスプライトをAssetBundleから取得してみます。 検証環境 TextMeshProのスプライトをAddressableに格納する TextMeshProのスプライトをテキストに適応する 検証環境 addressable 0.8.6 unity 2019.3.0 a3 TextMeshProのスプライトをAddressable…

【Unity】Timelineのアニメーションに微調整を加える(Humanoid編)

前回に引き続き、Timelineのアニメーションに微調整を加える方法です。 今回はHumanoid向け HumanoidはTimelineでアニメーションを上書きしにくい IKを使用する場合 Constraintを使用する場合 関連 HumanoidはTimelineでアニメーションを上書きしにくい Huma…

【Unity】Timelineのアニメーションに微調整を加える(Generic編)

DCCからアニメーションをUnityに持ってきてから、Timeline上のアニメーションを微調整したいといったケースがあります。例えばドラゴンが噛み付く位置が少しズレているだとか、棍棒を叩きつける位置が微妙に違う等。特にオブジェクトの配置をゲーム上で行っ…

【Unity】Animation Rigging、人型以外のキャラクターにもIKを!

今回はUnity 2019.1のPackageManagerで使えるようになるAnimation Riggingについてです。 Animation Rigging 実際に使ってみる 試した環境 手順 Animation Rigging AnimationRiggingは、Animation C# Jobsの上でキャラクターを手続き的に動かす機能みたいで…

【Unity】UnityPhysicsで、オブジェクト同士が接触した判定を取得する

物理演算でオブジェクト同士が接触した時のイベントを発行する方法についてです。 なお、現段階では明らかに低レベルAPIのみしか提供されておらず、未完成です。 この記事は「今すぐ触ってみたい」という人向けで、正直あまり有益ではありません。 接触イベ…

【Unity】GameObjectでもUnity Physicsを使う

試しにRoll a BallをUnity Physicsで作ってみた所、このテクニック無しだと少し面倒な所があったので紹介。 GameObjectでUnity Physicsを使う キャラクターが消えるのを解決する キャラクターが動かない問題を解決する GameObjectでUnity Physicsを使う Unit…

【Unity】新しい物理演算、Unity Physicsについて

Unity Physicsについて紹介します。 Unity Physicsとは? 事前準備 とりあえずシーンを用意 Unity Physicsに移行 ステージのような大量の当たり判定のある物を一気にロード 新しく増えた設定を使いたい パフォーマンス コード制御関係 関連 Unity Physicsと…

【Unity】Denoiseを使用してライトマップのベイク時間を劇的に抑える

Unity 2019.1で追加されたDenoiseを使ってみます Denoiseでライトマップのノイズを除去 Optix AI Denoiser 使ってみる 感想 関連 Denoiseでライトマップのノイズを除去 Progressive Lightmapperはレイトレースベースのライトマッパーです。そのサンプリング…

【Unity】LWRPで、壁で遮られて見えないキャラクターをシルエット表示するのが超簡単にできた

壁で遮られて場所が分からないキャラクターのシルエットを表示するアプローチを、LWRPでノーコーディングで実現出来たので紹介します。 壁に隠れてキャラクターが見えない問題 Custom Forward Renderでシルエットを描画してみる 手順1:Custom Forward Rend…

【Unity】新しいステルス系チュートリアル「John Lemon's Haunted Jaunt(ジョン・レモンのお化け屋敷)」

ステルスゲーム系の新しいチュートリアル「John Lemon's Haunted Jaunt」が追加されました。 Unity Learnにて公開しています。 John Lemon's Haunted Jauntというゲーム チュートリアル スクリーンショット John Lemon's Haunted Jauntというゲーム John Lem…

【Unity】GDC 2019のセッション動画が公開

GDCで行われたUnityのセッション動画の幾つかが公開されました。 Keynote セッション一覧 Keynote Keynoteです。 www.youtube.com 2時間見るのが面倒くさいという場合は、下の記事が凄い分かりやすいです。 www.famitsu.com またGDCの映像の裏で雑談放送もや…

【Unity】Unityのリアルタイムレイトレーシング用ビルドが公開

UnityでRTXを試せるビルドが公開されました。 We've just released an experimental DXR sandbox project in which you can play around with real-time ray tracing in Unity! Please note, this is a prototype and the final implementation of DXR will …

【Unity】Visual Effect Graph(VFX Graph)をLWRPで使用する

Visual Effect GraphがLWRPに対応したので、その設定方法と、対応方法についてです。 Visual Effect Graph Visual Effect GraphがLWRPに対応 LWRP対応の手順 おまけ:Legacy Render Pipelineの対応 感想 関連 Visual Effect Graph Visual Effect Graphはノー…

【Unity】AddressableAssetSystemのAssetReferenceで、一覧表示するアセットを任意の型に制限したい

AddressableでのAssetReferenceで、任意のアセットを指定する方法についてです。 参照するアセットを絞り込んでおきたい AssetReferenceTを使用する 補足 参照するアセットを絞り込んでおきたい Addressableでアセットの遅延ロードを行いたい時、AssetRefere…

【Unity】AddressableAssetSystemで「PackedPlayMode」と「FastもしくはVirtual Mode」で挙動が違う場合

Addressable Asset Systemで、とりあえず Fast / Virtual Mode ではちゃんと動くのに Packed Play Mode では上手く動かないという場合の、経験則的な対策についてです。 Packed Play Mode と Virtual mode / Fast Modeの違い ゲームの再生が出来ない コンテ…

【Unity】AddressableAssetSystemでSpriteAtlasを使用する

Addressableを使用した場合も、SpriteAtlasの利用手順はそれ程代わりません。 AddressableでSpriteAtlasを使用したスプライトを利用する 対策 Analyzeを使う 手動でスプライトを配置を使う場合… なんか上手くSpriteAtlasが更新されない場合… 感想 関連 Addre…

【Unity】AssetBundleに実際に含まれるアセット一覧を確認する

AssetBundleに含めたアセットやシリアライズしたデータ一覧を確認出来る機能を作ってみました。 AssetBundleに自動で含まれるアセット AssetBundleに含まれるアセットを全て確認する 例 現状の問題 CSVで出力もついてでに作ってみる 感想 関連 AssetBundleに…

【Unity】AddressableAssetSystemで、他のプロジェクトのAASが作ったAssetBundleを利用する

Addressableで他のプロジェクトが作成したAssetBundleを使用する方法についてです。 内容 Addressableで他のプロジェクトが作成したAssetBundleを使用したい Addressableのビルド用プロジェクトを用意する Addressableでビルド済みAssetBundleを使用する 既…

【Unity】AddressableでAssetBundleをビルドすると link.xml も自動で生成される

AddressableでAssetBundleをビルドしている場合、自動的にlink.xmlが生成されます。 Addressableがlink.xmlを生成する link.xmlを作成しているコード 関連 Addressableがlink.xmlを生成する Addressableをビルドする際、StreamingAssetsに幾つかのファイルを…

【Unity】暗号化したAssetBundleはLoadFromStreamでロードすればメモリに優しい

暗号化したAssetBundleを、「メモリに一旦全展開してからの復号」ではなく、メモリ負荷的に優しい「Streamで復号しながら読む」アプローチについてです。 AssetBundleを暗号化でAssetBundle.LoadFromMemoryを使うとメモリに優しくない AssetBundle.LoadStrea…

【Unity】Addressableのローカルサーバーを使って、AssetBundleをダウンロードする動作を確認する

今回はAddressableのホスティングサービスを試します。 本記事は Addressable Asset System ver 0.6.7 preview を使用しました。 動作確認にサーバーを用意するのが面倒くさい 手順1:動作確認 手順2:ホスティングサービスの起動 手順3:AddressableのRe…

【Unity】ECSで複数のComponentGroupを使う場合

複数のComponentGroupを使う 全く異なるComponentGroupを複数定義する場合はRequireForUpdateを使う 設定違いという点で複数のComponentGroupを使用したい場合は、ChunkIterationを考える 感想 複数のComponentGroupを使う ComponentGroupは、Systemが処理す…

【Unity】GameObjectとコンポーネントをEntityとComponentDataに変換してECSで使えるようにする

SubSceneで独自のコンポーネントや、まだ変換先の無いコンポーネントをComponentDataに差し替えるアプローチについてです。 GameObjectベースのデータをECSベースへ変換する GameObjectをEntityへ変換するAPI MonoBehaviourをComponentDataに変換してもらう…

【Unity】Scene上に構築したステージを、Entity群に変換してECSで利用可能にする「SubScene」

ECS 0.0.12 preview 26から、GameObjectとComponentをEntity&ComponentDataに変換する機能が追加されました。まずは、この中で最も便利であろうSubSceneについて紹介します。 GameObjectをECS向けに変換する SubScene 実際に使ってみる 1. 選択したオブジェ…

【Unity】「アニメーションが再生されない」「止まる」時の対処法

今回は「アニメーションをセットアップしたのに再生されない」や「アニメーションが止まる」といった場合の対処法についてです。知っていれば「当然そうなる」(そういう設定をしている)という動作なのですが、知らないと面倒かもしれないので一覧としてメ…

【Unity】Assembly definition fileのDefine Constrainsで、Scripting Define Symbolsで定義したシンボル毎に動作を切り替える

Assembly definition fileに少し便利な機能が追加されていたので、メモ 本記事はUnity 2018.3がベースです。 Assembly definition file Assembly definition fileとプラットフォームによる動作の切り替え Define Constrains(制約を定義) 感想 関連 Assembly …

【Unity】シーン内のGameObjectやAsset、メニューアイテムを検索できる「Unity Quick Search」

プロジェクト内のオブジェクトやアセット、メニュー操作等を検索出来る「Unity Quick Search」がPackage Managerに追加されました。 Unityプロジェクト内の色々な物が検索できる 使い方 拡張してみた 補足 感想 Unityプロジェクト内の色々な物が検索できる U…