おもしろ演出、演出の強化
Unity 2019.3からMeshの SetVertex にNativeArrayが使用できるようになったので、BurstとJobSystemでメッシュの頂点を動かしてみました。 特に難しいことはしていなくて、mesh.SetVertices(Vertices); で頂点情報を注入しているだけです。他のmesh.SetNormal…
一部のモデルにだけ、色あせるポストプロセスをかけない 昨日の応用で、一部のモデルにだけポストプロセスがかからないようにします。 一部のモデルだけポストプロセスの影響をかけないようにする 手順 注意点 一部のモデルだけポストプロセスの影響をかけな…
今回は昨日チラっと書いた、暗闇をライトで表現するアプローチについてです。 意図的に暗い空間を作る ライトの減算設定を登録 実際に暗黒の光を発する発光体を配置する 注意点 意図的に暗い空間を作る ステージを作るとき、 重要である事を示すために明るく…
今回はLWRPに追加された2Dライトを試してみます。 2Dにライト 導入手順 とりあえずライトを試す 陰影表現の追加 注意事項 2Dにライト 最近の海外で2Dなゲームでは、2Dでもライティング…正しくは法線効果で光源の位置を示しているゲームをよく見ます。 そのや…
今回はUnity 2019.1のPackageManagerで使えるようになるAnimation Riggingについてです。 Animation Rigging 実際に使ってみる 試した環境 手順 Animation Rigging AnimationRiggingは、Animation C# Jobsの上でキャラクターを手続き的に動かす機能みたいで…
壁で遮られて場所が分からないキャラクターのシルエットを表示するアプローチを、LWRPでノーコーディングで実現出来たので紹介します。 壁に隠れてキャラクターが見えない問題 Custom Forward Renderでシルエットを描画してみる 手順1:Custom Forward Rend…
Visual Effect GraphがLWRPに対応したので、その設定方法と、対応方法についてです。 Visual Effect Graph Visual Effect GraphがLWRPに対応 LWRP対応の手順 おまけ:Legacy Render Pipelineの対応 感想 関連 Visual Effect Graph Visual Effect Graphはノー…
Package ManagerにAlembicが追加されたので、試してみました。 Alembicとは? Unity PackageにAlembic Importerが追加 使い方 実際に試してみる 感想 関連 Alembicとは? Alembic for Unityの説明が分かりやすいので引用します。 Alembic は主に映像業界で使…
今回はTextMeshProを使用する際に、UIに文章を表示する際のGCを抑えるアプローチについてです。 数字を表示する際にGCが発生するのを回避したい SetCharArray(...)を使用する SetText(...)を使用する エディターではGCが発生する点に注意 SetCharArray(...)…
Unity 2018.3(TextMeshPro1.4)からFont FallbackとDynamic SDF Systemが追加され、柔軟なSDFの利用が可能になりました。 結論 TextMesh Proでダイナミックにフォントを取得して使用する Font Fallback Dynamic SDF System 関連 結論 以下のような使い分け…
今日は前回の続きで、スケルタルアニメーションをやっていきます。今回やるのは独自のキャラクターを動かす方法についてです。 タナカさん登場 タナカさんをIKで動かせるようにする アニメーションにする 感想 関連 タナカさん登場 前回のキャラクターを動か…
今回は Anima 2Dの後継、Unity 2D Animation(V2)でボーンベースで動くキャラクターを作成してみます。 なお今回は長くなりすぎたのでIk周りはやりません。セットアップまでです。 スケルタルベースのキャラクター表現 パッケージの導入 PSBをインポート スキ…
この記事はUnity #2 Advent Calendar 2018の20日目の記事です。今は21日だって!?それは本当かい!?まさか遅刻したのに間に合った事にしたのかい!? qiita.com 前回はがむ (@gam0022) | Twitterさんの[Unity] カスタムシェーダーでTextMeshProに独創的な…
自分はCinemachineの機能は結構好きで、色々と遊んでみたりしているのです。それでもなお首を撚る系の機能「Clear Shot」についてです。 Clear Shot キャラクターが隠れた時に、見える位置にカメラを動かす 手順 キャラクターが近づいてきた時にカメラを切り…
今回はボタンをタイミング良く押すと連続攻撃になる動作を作成します。 格ゲーのようなコマンド入力ではなく、3Dアクションによくあるような非常に単純なもの です。 ボタン連打でコンボ攻撃 1. ボタンを押したら殴る 2. ボタンを押したら次の攻撃への実現 3…
Unity 2018.2でCameraの設定にPhysical Cameraという新しいオプションが追加されました。この設定が今ひとつ分からなかったので、内容を確認してみました。 Physical Cameraは一般的なカメラ設定をUnityに持ってくる為の設定 Focal LengthとかSensor Sizeと…
今回はLight Weight Render Pipelineを既存のプロジェクトに導入してみます。 Lightweight render pipeline Light Weight Render Pipelineを使う Lightweight render pipeline Light Weight Render Pipeline(LWRP)は、Scriptable Render Pipelineで提供す…
今回はUnityで曲線を描く方法について紹介します。 Unity 2018.1でVector Graphicが導入可能に Vector Graphicsでベジェ曲線を描画する Vector GraphicsのAPIを見てみる PathのAPIを見てみる 感想 関連 Unity 2018.1でVector Graphicが導入可能に Unity 2018…
知っているとTimelineを操作する上で少しだけ幸せになれるTimelineエディター操作の小技集です。動作確認:バージョン Unity 2018.2f5 Tips PlayableDirectorをサクっと追加する シーンの中にあるTimelineを開く アニメーションクリップの一部をスローモーシ…
Timelineを用いて、キャラクターを歩かせる(走らせる)方法についてです。以前の移動と異なり、歩行・走行に限りますが複雑な経路を走らせる場合はコチラの方が便利です。 キャラクターを移動させたい パスを決めて、その上を走らせる 移動をTimelineで制御…
以前の方法が古くなっているので、新しくTimelineで字幕を作ってみます。 TimelineでTextの内容をコントロールする 最初はTimelineでTextの内容をコントロールするだけの簡単なモノを作ってみます。DefaultPlayableのTimelinePlayableWizardで設定するだけで…
Cinemachineを紹介すると「自分のシステムと相性が悪い」や「使い方が難しい」といった意見をよく聞きます。とは言えCinemachineが提供する「演出用カメラワークへのシームレスな移動」や「めり込み抑制や振動といったエフェクト」、「手ブレ」は使いたい所…
名前が正しいのか分からないのですが、カット割りでズームするアプローチの方法についてです。 カット割り 三段ズーム(カット割り) 会話のカット割り 感想 カット割り キャラクターの動きを作るとき、カットを割るというのが結構メリハリのある動きを表現…
Cinemachineでカメラワーク、対象を回り込むように移動させる方法についてです。 対象を中心に回り込むように 2点間のVirtual Cameraを対象を中心に円を描くように動かす SphericalPositionとCylindricalPositionの違い 対象の周囲を回るオブジェクトを用意…
前回はRigidbodyの動きをTimelineに格納することで、物理演算の負荷軽減やタイミングの調整などを行いました。今回はゲームの動きをAnimationClipとして格納しておき、Timelineで再生してみます。 ゲームの動きを再現したい やり方 再現できるのはInspector…
以前紹介したカメラを振動させるアプローチの少し異なるバージョンです。 tsubakit1.hateblo.jp 瞬間的ではない振動を表したい 連続した揺れはCinemachine Noiseを使う 振動の状態を切り替える(Timeline) 振動の状態を切り替える(Timeline以外) 瞬間的で…
AnimationEventのように、Timelineのイベントを実行する方法についてです。 UnityTimelineEvents 実際に使ってみる 関連 Timelineを使用していると、特定のタイミングでイベントを発行したいと思う事はよくあります。例えば通常のカットシーンでは「爆発の衝…
今回は先程公開された、ピクセルパーフェクトなスプライト表現をするために(想定)ピクセルに合わせてスプライトやカメラの位置を調整してくれる機能PixelPerfectCameraについてです。現在はPackageManagerのstagingで提供されています。 想定解像度に合わ…
今回はTimelineの機能を使用するが、「目標地点が異なる」場合を対処する方法についてです。例えば「距離の異なる崖をジャンプで超える」や「位置が毎回異なる敵に攻撃を仕掛ける」といった物をTimelineで制御する場合の話です。 Timelineアニメーションの「…
今回はTimelineで物理演算の結果を使用する方法について考えてみます。 Timelineという機能 Timelineはゲームを再生しないから効率的 物理演算の動きはゲームの再生を要求する Timeline上で物理演算を動かす 物理演算の動きをAnimationClipに保存する Timeli…