テラシュールブログ

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

3D

【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】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】UnityでAlembicを使ってみる

Package ManagerにAlembicが追加されたので、試してみました。 Alembicとは? Unity PackageにAlembic Importerが追加 使い方 実際に試してみる 感想 関連 Alembicとは? Alembic for Unityの説明が分かりやすいので引用します。 Alembic は主に映像業界で使…

【Unity】ジョブシステム上でも動かせるNavMeshの経路計算(Experimental)

ECSのデモで使用されていた、ジョブシステムでも動かそうと思えば動かせるNavMeshのサンプルです。 ちゃんと解説しようとも思いましたが、正直使い所が思いつかないので適当になります。 NavMeshQueryを利用した経路探索 サンプルコード 大雑把な解説 感想 …

【Unity】ProBuilderをLWRPで使用するとピンクになるのを何とかする

ProBuilderでステージを作っているときに、ふと思ってLWRPを適応したところ、見事にピンク色になってしまいました。 ProBuilderのシェーダーはLWRPに対応していない シェーダーを作ろう ProBuilderのシェーダーはLWRPに対応していない LWRPは幾つかの点で非…

【Unity】Cinemachineで撮影の構図を色々して良い感じにしたい

この記事はUnity #2 Advent Calendar 2018の20日目の記事です。今は21日だって!?それは本当かい!?まさか遅刻したのに間に合った事にしたのかい!? qiita.com 前回はがむ (@gam0022) | Twitterさんの[Unity] カスタムシェーダーでTextMeshProに独創的な…

【Unity】SceneViewのカメラが回せなくなった時の対処法

SceneViewが回せないという動作になりました。 コレの解決法についてです。 SceneViewのロックを外す 結論から言えば、SceneViewのロックが入っていた為でした。 ロックされていると、右上のGizmoの色が薄くなります。 なので、このロックを外してやれば、期…

【Unity】AR Foundation(ARKitとARCoreのマルチプラットフォームAR環境)の超入門

今回はARCoreとAR Kitの両方に対応したマルチプラットフォームAR環境である「AR Foundation」、その最初の一歩として「とりあえず動くもの」の作り方を紹介します。 AR Foundationとは? 使い方 ARのセットアップ 平面の検出をグラフィカルにする オブジェク…

【Unity】NavMeshのRaycastを非同期で撃つ!

Unity 2018.3からNavMeshのRaycastを非同期で実行することが出来るようになったので、その方法についてです。 なおExperimentalなAPIを使用するので、今後変わるかもしれません。 NavMeshQuery経由で非同期でRaycastを実行 使ってみる 非同期で動かそう! 関…

【Unity】Cinemachineで複数のカメラを使用する

今回はCinemachineで複数のカメラを使用する方法についてです。 複数のカメラを使う Timelineを使用している場合、複数のTrackを用意する Timelineを使用しない場合 複数のカメラを使う ゲームを作成している時、複数のカメラを使用したいというケースが稀に…

【Unity】Unity 2018.2で追加されたPhysical Cameraとはナンゾや?

Unity 2018.2でCameraの設定にPhysical Cameraという新しいオプションが追加されました。この設定が今ひとつ分からなかったので、内容を確認してみました。 Physical Cameraは一般的なカメラ設定をUnityに持ってくる為の設定 Focal LengthとかSensor Sizeと…

【Unity】既存のプロジェクトにLightweight RenderPipelineを導入する

今回はLight Weight Render Pipelineを既存のプロジェクトに導入してみます。 Lightweight render pipeline Light Weight Render Pipelineを使う Lightweight render pipeline Light Weight Render Pipeline(LWRP)は、Scriptable Render Pipelineで提供す…

【Unity】Cinemachineのカメラ位置や向きを、自分のスクリプトで制御する

Cinemachineを紹介すると「自分のシステムと相性が悪い」や「使い方が難しい」といった意見をよく聞きます。とは言えCinemachineが提供する「演出用カメラワークへのシームレスな移動」や「めり込み抑制や振動といったエフェクト」、「手ブレ」は使いたい所…

【Unity】Cinemachineで作るカメラワーク(カット割り:カメラを切り替える)

名前が正しいのか分からないのですが、カット割りでズームするアプローチの方法についてです。 カット割り 三段ズーム(カット割り) 会話のカット割り 感想 カット割り キャラクターの動きを作るとき、カットを割るというのが結構メリハリのある動きを表現…

【Unity】Cinemachineで作るカメラワーク("対象を中心に回り込む"を表現する3つのアプローチ)

Cinemachineでカメラワーク、対象を回り込むように移動させる方法についてです。 対象を中心に回り込むように 2点間のVirtual Cameraを対象を中心に円を描くように動かす SphericalPositionとCylindricalPositionの違い 対象の周囲を回るオブジェクトを用意…

【Unity】Roll a BallのカメラをCinemachineで制御したら結構良い感じになった(と思う)

CinemachineでRoll A Ballのカメラワークをやってみます。 Roll a Ballとカメラワーク カメラが追跡する対象を指定する カメラの移動設定 最も基本となる動作に近いTransposer & World Space 対象の移動先を予測して向きを変える 世界の裏側を見せないように…

【Unity】ShaderGraphで頂点シェーダーを使用してみる

Unity 2018.2から使用できるShaderGraph 3.0から頂点シェーダーの機能が使用できるようになったので、使ってみました。 ShaderGraph3.0 とりあえず上下に移動するだけのシェーダーを作る 旗も作ってみる 感想 ShaderGraph3.0 これを動かすには、ShaderGraph…

【Unity】カメラを常に揺らしたり、だんだんと揺れを強化したりする演出

以前紹介したカメラを振動させるアプローチの少し異なるバージョンです。 tsubakit1.hateblo.jp 瞬間的ではない振動を表したい 連続した揺れはCinemachine Noiseを使う 振動の状態を切り替える(Timeline) 振動の状態を切り替える(Timeline以外) 瞬間的で…

【Unity】ProBuilderがなんか重い対処

ProBuilderでステージを作るときに何か重い…というものの対処についてです。 ProBuilderで作成…あれ重い? ライトを焼いてるせい 対策1:自動的にベイクするのを止める 対策2:ライトマップを最初から諦める 対策3:Enlightenを使用する 対策4:ライトの…

【Unity】知らないと苦労するかもしれない、Timelineと座標の話

Unity 2018.3以降の場合 Unity 2018.2までのTimelineの座標系の話 AnimationControllerがAnimatorにセットされていれば現在位置から移動、無ければ絶対座標からアニメーションを開始する ApplyTrackOffsetはAnimationControllerの有無で用途が異なる Animati…

【Unity】ProBuilderで作ったパーツを組み替えてステージを作る アプローチ

パーツの組み合わせで簡単なステージを作ってみるのを試してみました パーツを組み合わせてステージを作るアプローチ ステージのパーツを作る パーツを使い回すために出力する 並べる 関連 パーツを組み合わせてステージを作るアプローチ ステージを作る上で…

【Unity】物理演算を指定秒数 進める Physics.Simulate

今回は「シーンの物理現象をシミュレートする」という、一見分かりにくいAPIのPhysics.Simulateおよび Physics2D.Simulateついてです。 物理演算を指定秒数進めるAPI 物理演算を進める 物理演算を指定秒数進める・巻き戻す 未来予測 感想 関連 物理演算を指…