- 投稿日:2020-03-28T23:24:44+09:00
VFX Graph ホログラム
覚えるためのメモです。
demoを見て学んだことを忘れないように書くだけなのでほんとにメモです。https://media.giphy.com/media/Q7FbEVMiRW935UqrTn/giphy.gif
カメラからレンダーテクスチャを出力する
まず最初にホログラムを移すためレンダーテクスチャを アセット > 作成 > レンダーテクスチャ から作成し任意に名前を付けます。
そして次に カメラを作成します。 そして出力に先ほど作成したレンダーテクスチャを割り当てます。
あとはそのカメラでホログラムにしたいものを移してあげればいいです。特定のものだけ移したりしたい場合はレイヤーを作ってカメラのカリングマスクで指定してあげればいいと思います。
試していないのですがここでシネマシーンを使ってみたら面白そう。VFX 中身
ほぼなんもいじってないのですごくシンプル。
ただカメラのレンダーテクスチャを受け取ってpositionにしているだけであとはちょっと設定を変えただけです。
個々の設定は自身の作りたいものに合わせて変えていく。VFX Binder
ここで先ほど作ったカメラのプロパティに実際のカメラをバインドしていきます。
まずゲームオブジェクトにスクリプトを追加します。
追加するときに見つけにくかったので 検索で VFX と調べるとすぐ出てきて楽だった。
あとはリストの+を押して HDRP > HDRPカメラを追加します。
その後追加したものをクリックすると詳細が開くのでそこでカメラを指定してあげます。そしたら完成です。
- 投稿日:2020-03-28T19:50:30+09:00
【Unity】3Dミュージックビデオ「clapclap」制作に使用したアセットまとめ
こんにちはっ?八ツ橋まろんです
バーチャルYouTuberとして活動し、ミュージックビデオ(MV)の制作をしています。
先日、バーチャルYouTuberの六葉ミカさんのオリジナル楽曲「clapclap」のMV制作を担当しました。
このMVは動画編集ソフトによるエフェクト追加をせず、全てUnity上で制作しています。
本記事では、このMV制作に使用したUnityアセットやオリジナルのスクリプトを紹介します。ビジュアル関連
unity-audio-spectrum
音源のスペクトルを表示するスクリプト。これがあるだけで音楽感が増してMVに動きがつく。とっても便利。MVでは円形に配置して背景オブジェクトとして使用した。
MaronMotionGraphicsShader
自作の図形描画&アニメーションシェーダー。〇や△☐、☆や♡を描画したり、図形間を行き来したり、回転やuvスクロールしたりできるので汎用性が高い。Animatorコンポーネントと併用してモーショングラフィックスができるように作った。非常に多彩な表現ができるので便利。
MVでは背景やパーティクルなど、あらゆるところに登場する。
MaronOutlineShader
自作のアウトラインシェーダー。RenderTextureを使う方法により太いアウトラインでも破綻しない。且つ、オブジェクトのシェーダーは一切改造しなくていいのでとても便利。MVでは間奏部分の2D演出で活躍した。アウトラインと言ってはいるが、実は上の画像の灰色の影もこれで作っている。技術解説のQiitaの記事はこちら
PostProcesing Stack V2
Package Managerからインストールするアセット。これがある場合とない場合の見た目の違いは、上の画像を見てもらえれば一目瞭然。『盛る』って大事だね。
MVでは特にVignetteとDepth of FieldとColorGradingを使用した。
モーション関連
VR Motion Recorder
HTC Vive と Viveトラッカー3個使って、VR空間でのフルトラッキングのモーション収録環境が構築できるunitypackage。別途Final IKの購入が必要なので注意。トラッカーなしでも動く(その代わり脚は自動のIK)。説明書はVive用だが、Oculus Riftでも動く。動いたモーションをそのままUnityのアニメーションファイルとして書き出すことができ、必要であればそのままキーフレームの削減もしてくれる。MVではダンスのモーションを全てこれで収録し、次のU Motion Proでモーション修正を行った。
U Motion Pro
モーション修正に使える強力なアセット。日本語の解説記事は少ないが、使いこなせればワンランク以上高いクオリティに手が届く。主要な使い方は公式のビデオを参考にすると良い。MVではダンスモーションの修正と、固定ポーズの作成を行った。
カメラワーク関連
Cinemachine
Package Managerからインストールするアセット。CinemachineのVirtual Cameraを大量に作成してTimeline上に並べて重ねることで、カメラワークを作成できる。
MVのカメラワークの大半はCinemachineのVirtual CameraをTimelineで混ぜ合わせて作成した。
サビの一部に使用した素早い動きのカメラワークは、Animatorを付与したVirtual CameraをTimelineで直接キーフレームアニメーションさせて作成した。
PostProcessController
PostProcessing Stack V2のパラメータをTimelineで操作したいために作成した自作スクリプト。カメラを動かしながら被写界深度の距離を変えたいときに重宝した。(実はPostProcessing Stack V2のパラメータはTimeline上で直接変更できないのでこのスクリプトが必要だった。技術記事はこちら)
以上、アセット紹介でした?
MVたくさん見てくれると嬉しいです✨
いつか実際の作成手順やテンプレートなんかを作って解説記事を作りたいなと思っています。それではまたね?
- 投稿日:2020-03-28T18:05:26+09:00
Unity で Visual Studio を使った快適なコーディングをするための環境設定
そのままでは痒いところに手が届かないことが多いので、いろいろカスタマイズして快適にしていきます。
環境
- Unity 2018.4.19f1
- Visual Studio Community 2019
コード分析規則
Linter文化に慣れた結果ゲーム開発でも規則が欲しくなってしまいました。チーム開発では必須だと思っています。
デフォルトだとエディタからの提案がお節介だったり、警告してほしいところで消極的だったりするので、自分好みに設定していきましょう。規則セットの追加
プロジェクト用の規則セットファイルを作成して、Assembly-CSharp と Assembly-CSharp-Editor 設定します。
→規則セットをカスタマイズする.csproj に設定を自動追記
このままではUnityは自動で.csprojファイルを書き換えてしまうので、規則セットファイルを読み込む設定が上書きされないように下記のようなエディタ拡張スクリプトを配置します。
規則セットファイル名は{プロジェクト名}.ruleset
を前提にしています。CsprojFixer.csusing System; using System.IO; using UnityEditor; public class CsprojFixer : AssetPostprocessor { public static string OnGeneratedCSProject(string _, string content) { // プロジェクト名の抽出 string currDirPath = Directory.GetCurrentDirectory(); string[] pathArray = currDirPath.Split(Path.DirectorySeparatorChar); string projectName = pathArray[pathArray.Length - 1]; // .csprojの内容を置換 string old = "</AllowUnsafeBlocks>"; string addition = $"<CodeAnalysisRuleSet>{projectName}.ruleset</CodeAnalysisRuleSet>"; return content.Replace(old, $"{old}{Environment.NewLine} {addition}"); } }StyleCop.Analyzers
もっと規則にこだわりたければNuGetパッケージの StyleCop.Analyzers を導入します。
NuGetパッケージを導入する場合も、エディタ拡張で.csprojにNuGetパッケージ設定を加える処理を追加する必要があります。拡張機能
いくつか普段使っている拡張機能も紹介します。
CodeMaid
スペースを入れてくれたり空行を削除してくれたりする便利なフォーマッタです。
申し分ないくらいのオプション設定をすることができて、保存時の自動整形もできます。(うれしい)普段 VSCode を使っているとこれがないとしんどいです。
Enhanced Syntax Highlighting
シンタックスハイライトでカスタマイズできる種類を少し増やしてくれます。
宣言時だけ色を変えるとかはできないのですが、もともとの設定項目が少ないので少しでもマシになればと思います。参考
- 投稿日:2020-03-28T01:06:23+09:00
最新バージョンのUnityでStandard Assetsを入れてエラーが起きたときの対処法
Unityを使い始めた人の中には、Standard Assetsをインポートした人も多いと思います。
僕もUnityで最初にゲームを作ったときには、Standard Assetsのアセットを使って3Dゲームを作りました。
ただ、Standard Assetsをインポートしてそのまま使おうとしても、最新バージョンのUnityではエラーが発生します。
このままではコンソールにエラーを残したまま、ゲームのデモプレイはできず戸惑ってしまいます。
今回のエラーが出てしまう原因は、Standard Assetsで採用されているUI TextとUI Textureが、最新のUnityでは対応していないということです。
問題の解決手順は以下の通りです。
下部にある「Project」ウィンドウで、「Assets」→「Standard Assets」→「Utility」のフォルダを開きます。
次に、「Utility」フォルダ内の、「ForcedReset.cs」と「SimpleActivatorMenu.cs」を削除してください。
コンソールにエラーが残っているとデモができないので、エラーが残っている場合は左上の「Clear」をクリックしてください。
以上の手順でStandard Assetsのインポートに伴うエラーは解決できると思います。
参考になれば幸いです。