テラシュールブログ

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

おもしろ演出、演出の強化

【Unity】ドット絵でゲームを作る時に使いたい、ピクセルパーフェクトなスプライト表現するPixelPerfectCamera

今回は先程公開された、ピクセルパーフェクトなスプライト表現をするために(想定)ピクセルに合わせてスプライトやカメラの位置を調整してくれる機能PixelPerfectCameraについてです。現在はPackageManagerのstagingで提供されています。 想定解像度に合わ…

【Unity】Timelineと移動を連携して、特定のタイミングから"指定の座標"へ移動させる

今回はTimelineの機能を使用するが、「目標地点が異なる」場合を対処する方法についてです。例えば「距離の異なる崖をジャンプで超える」や「位置が毎回異なる敵に攻撃を仕掛ける」といった物をTimelineで制御する場合の話です。 Timelineアニメーションの「…

【Unity】Timelineで物理演算の動きを使用するアイディア

今回はTimelineで物理演算の結果を使用する方法について考えてみます。 Timelineという機能 Timelineはゲームを再生しないから効率的 物理演算の動きはゲームの再生を要求する Timeline上で物理演算を動かす 物理演算の動きをAnimationClipに保存する Timeli…

【Unity】敵とプレイヤーが常に映るようにするカメラワーク

今回は敵とプレイヤーが常にカメラに映るようにするカメラワークについてです。 ターゲットが全て映るようなカメラワーク CinemachineのGroup機能 使い方 追跡対象の登録 カメラの動きの細かい指定(3D) カメラの動きの細かい指定(2D) 関連 ターゲットが全て…

【Unity】Cinemachineでカメラに映る被写体のサイズをコントロールする

今回はCinemachineでカメラの被写体サイズをコントロールするのをやってみます。 被写体のサイズ 被写体の大きさをコントロールする 被写体の大きさを求める FOVを固定する場合 FOVが変化する場合 関連 被写体のサイズ カメラでキャラクターを撮影する時には…

【Unity】CinemachineのVirtual Camera切替をコントロールする

今回はCinemachineのVirtual Camera間の切替時間をコントロールします。 #Cinemachine でカメラの切替 pic.twitter.com/aipJxHRTJF — 椿 (@tsubaki_t1) 2018年4月3日 カメラの切替とCinemachine カメラを切り替える カメラの切り替わる時間を制御する カメラ…

【Unity】PostProcessingStackの被写界深度のピントを動的に変更する

今回は被写界深度(Depth of Field)…ピントがあっていないモノがボケる表現についてです。 この被写界深度、何処にフォーカスを当てるのかが重要なポイントの一つなのですが、ImageEffect(Cinematic Image Effectや通常のImageEffect)と異なりPostProcess…

【Unity】PostProcessingStack v2を使ってみる

今回はPost Processing Stackの新バージョンである、Post Processing Stack v2を使ってみます。 今回はBloomを使用します。何故Bloomかって?私が好きだからです。 Post Processing Stack V2 Post Processing Stackの導入 カメラの設定 エフェクトを設定する…

【Unity】Terrainの負荷やらDrawCallやらを下げるポイント

Terrainは名前の通り地形を作る機能です。ちゃんと作れば、こんな感じのステージが作れます。…地面があり、草木が茂り、地面には段差がある。 パっと見、使い方は微妙な感じですが、メイキングは参考になります。 www.youtube.com さて、これを夢見て初期設…

【Unity】パーティクルをGPU Instancingで描画してみる & 対応シェーダーを自作してみる

Unity 2018.1では、Instancing関係の機能が大幅に使い勝手良くなりました。 特にメッシュパーティクルの描画はCPUバッチングではなくGPU Instancingで行えるようになり、幾つかのケースでパフォーマンスが大幅に向上する事があります。 Unity 2018.1 でパー…

【Unity】dynamic voxel-based global illuminationを実現する SEGI

今回はUnityでdynamic voxel-based global illuminationを実現する、SEGIというアセットを試してみました。 github.com 今回試したSEGIは、他のものと同様に事前ベイク無しにGIを実現出来るみたいです。 実際に適当に試したのがコチラ。全てのオブジェクトは…

【Unity】"家具を動かせる" 部屋(ステージ)の見栄えを、出来る限り良い感じにする

綺麗なグラフィックを実現するのは8割以上はモデルとマテリアルのクォリティですが、〆としてライティングやポストプロセスも重要な要素の一つです。 ただし、場合によってはライティングのベイクを利用できないといったケースも存在するかもしれません。例…

【Unity】複数のオブジェクトの位置を元にオブジェクトを動かす、○○○Constraint系というオモシロ機能

Unity 2018で、Aim Constraint、Parent Constraint、Position Constraint、Rotatoin Constraint、Scale Constraintの5つのConstraint戦隊が登場しました。 この機能は、複数のオブジェクトの大きさや位置、向きを元に自身の位置を調整する機能です。 この機…

【Unity】”テクスチャの差し替え” で切り替わるスプライトアニメーションを作成する手順

今回はテクスチャーを切り替えてアニメーションを切り替える方法についてです。 上の画像のようにスプライトやAnimationClip、OverrideAnimationControllerを用意せずともキャラクターを差し替えることが出来ます。 目次 Unityのスプライトアニメーション テ…

【Unity】良い感じに見える(屋内向け)ライティングの設定手順

UnityTipsにライティングの設定手順があったので、実際に試してみました。 Last Man Sittingのライティング設定 手順 ステップ1 - とりあえず配置 - ステップ2 - ポイントライトを置く - ステップ3 - Reflection Probeを追加 - ステップ4-Directional Li…

【Unity】2Dのカメラがステージ外を映さないようにする方法

今回は2Dカメラがステージの外を映さないようにする方法についてです。 キャラクターを中心に映すと、ステージの外が映る事がある Cinemachineに追加された2D機能 CinemachineConfinerはカメラが範囲外に移動するのを防ぐ 移動範囲の定義はColliderの「範囲…

【Unity】複数パーツで構成された半透明のSpriteを違和感無く表示する…際に出るであろう問題の対策

前回の続きで、複数パーツで構成された半透明のSpriteを違和感なく表示する方法の続きです。前回はSpriteMaskを使用して重複部を表示しないようにしました。今回はこのアプローチで発生する問題を回避する方法について紹介します。 SpriteMaskを使えば、半透…

【Unity】複数パーツで構成されたSpriteを半透明にしても違和感をなくす方法

今回は最近のスケルタルアニメーションでよく見られるような、複数パーツで構成されたSpriteを、違和感なく半透明にするアプローチについてです。 若干限定的な所があるので、そのあたりは自分で何とかする必要があります。 2Dのスケルタルアニメーション ス…

【Unity】背景の多重スクロールをシェーダーで

シューティングの臨場感を出すために背景をスクロールする訳ですが、その辺りをシェーダーでやってみました。 1枚の板ポリに複数枚の背景を表示する スクロールさせる シェーダーアニメーションのプレビュー 1枚の板ポリに複数枚の背景を表示する まずは下3…

【Unity】CinemachineのFreeLook Cameraが楽しい

今回はCinemachineのFreeLook Cameraを使ってみます。 CinemachineのFreeLook Camera 見上げる時は視界を狭く、見下ろす時は視界を広く 使ってみる コントローラーを反転させたい 関連 CinemachineのFreeLook Camera カメラの動きを制御するCinemachineのア…

【Unity】パーティクルのタイミングをTimelineで制御する

今回はParticle System(Shuriken)の生成タイミングをTimelineで制御する方法についてです。 Particle Systemとタイミング制御 ParticleのタイミングをTimelineから制御 ControlPlayableでParticleを制御する 幾つかの問題 関連 Particle Systemとタイミン…

【Unity】Timelineから他のTimelineを呼び出して再生する

今回はTimelineの中からTimelineを再生するアプローチについてです。 Timelineは「少し異なるが概ね同じ」や「複数人編集」で面倒なことになる TimelineをTimelineが呼び出す Control PlayableはPlayable Directorも操作できる 参照するTimelineの動的な差し…

【Unity】Timelineの独自Playableを超簡単に作るウィザード

キーボードが治ったので久しぶりのブログ更新です。 今回の内容はTimelineのPlayableを簡単に自作する方法です。 Playableの自作 Playableをサクっと作るウィザード Timeline Playable Wizardの使い方 作られるコード ○○○Track ○○○Clip ○○○MixerBehaviour ○○…

【Unity】音をキャプチャーするAudio Recorderと、動画撮影するMovie Recorder

昨日の続きで、調べられなかったMovie RecorderとAudio Recorderについて 固定フレームも録画可能なRecorder 録音するAudio Recorder ムービーを録画するMovie Recorder GBuffer Recorder 関連 固定フレームも録画可能なRecorder Recorderについてはコチラ t…

【Unity】固定フレームも可能、画面を録画出来る Recorder

今回はUnityの画面をキャプチャーして保存するアセットについて Unityの画面を動画としてキャプチャーするRecorder 可変フレームではなく、固定フレームで撮影が可能 使い方 エディターの画面を動画としてキャプチャーする 細かい設定 アルファ抜き Timeline…

【Unity】TextMeshProのアウトラインは、uGUIのと比べてとても良い

前回に続きTextMeshPro。今回はアウトラインについてです。 TextMeshProのアウトライン アウトラインの設定方法 内側滲む対策は、文字を広げる事で回避 アウトラインの色々なエフェクトを試してみる ポリゴン数も増えず、オーバードローも無い。レイアウトに…

【Unity】TextMeshProのMaterial Presetを増やす方法

久しぶりの更新は、TextMeshProのMaterial Presetを増やす方法について。 TextMeshProは文字を表現するのに便利な表現 Material Presetでエフェクトのあるマテリアルを選択 Material PresetはCreate Preset Materialで増やす 関連 雑記 TextMeshProは文字を…

【Unity】Position as UV1…とは

少し話題に登ったので、書いておきます。書かないと忘れる Position as UV1とは何ぞや Position as UV1は、UIに頂点情報を流し込むコンポーネント 実際にやってみる で、何の役に立つの? 関連 Position as UV1とは何ぞや Position as UV1というコンポーネン…

【Unity】Cubeを跳ねさせる

今回は小ネタというか、やってみたと言うか…豆腐を跳ねさせるという内容です。 Cubeだって跳ねる とりあえず、跳ぶ! カーブを付ける 豆腐はフルフルする 関連 Cubeだって跳ねる ゲームの仮素材ランキングがあるとしたら、多分ブッチギリで人気No1はCubeでし…

【Unity】SpriteMaskでSpriteにマスクを掛ける演出が色々と面白い

Unity 2017.1より追加されたSpriteMaskの機能が意外と面白いので、少しメモします。 SpriteMask 操作方法 壁に穴を開ける Spriteの消滅演出をSpriteMaskで 実はパーティクルのマスクも出来る 関連 SpriteMask SpriteMaskはSpriteを利用してSpriteRendererに…