テラシュールブログ

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

3D

【Unity】なんか影が出ない問題の対策

サンプルを色々といじっていた所、どうも影が出なくなる現象に当たったので、その原因と対策についてココに書いておきます。 影が出ない ”影”を無効化する設定 光が影を出していない 物質が光を遮らない SceneViewの設定 それでも駄目なら 関連 影が出ない …

【Unity】ステージの特定の位置で、FreeLookCameraと横スクロールカメラを切り替える

今回は"通常はFreeLookカメラだが特定の状況では横スクロールアクション"のようなカメラに切り替わるのをやってみます。 カメラの位置や動きで3Dゲームの手触り・難易度は大きく変わる 実際の手順 なぜDolly Cameraなのか? カメラの位置や動きで3Dゲームの…

【Unity】リアルタイムな影がカクカクになる問題の対処

今回はリアルタイムライトがカクカクになる場合の対処についてです。 ライトがカクカクになる問題 Shadow Mapの解像度はどのようにして決まるのか? ライトがカクカクになる問題の対策 Shadow Mapの解像度を上げる 解像度を有効活用する ポイントライトの場…

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

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

【Unity】ProBuilderで作ったステージに色を塗る

今回はProBuilderで作ったメッシュに色を付ける方法についてです。 ProBuilderでステージを作った、しかし単色 ProBuilderで色を塗る 面を塗る 頂点を塗る 関連 ProBuilderでステージを作った、しかし単色 ProBuilderはステージをサクっと作れる割と凄い機能…

【Unity】カメラが壁を貫通しないようにする

今回はCinemachineの機能の一つで、カメラが壁を貫通しないようにする方法についてです。 なんとなく微妙なカメラリグ カメラが壁を貫通しなくする 壁に遮られたら違う視点に切り替える 関連 なんとなく微妙なカメラリグ Unity初心者が作ったゲームで、素人…

【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を使ってBloom(光のにじみ)を表現する

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

【Unity】影の表現を軽量化するアイディア

今回は影の表現を軽量化するTipsについてです。 影はキャラクターの立ち位置を明確にして存在感を出します。影により地面とキャラクターの距離感が判断出来たり、影により周囲の空間を把握しやすくする等です。 ただし影の表現は負荷としてはそれなりに高い…

【Unity】ProBuilderで超適当に超適当なステージを作る

ProBuilderが無料になりました。 blogs.unity3d.com せっかくなので、ProBuilderを使用して超適当なステージを超適当に作ってみます。超適当なので、超適当です。超適当してください。 ProBuilderのインポート 超適当なステージを作る 部屋のレイアウトを決…

【Unity】キャラクターから見て対象への角度を「-180~180度」の範囲で求める

対象への角度を「-180~180度」の範囲で求めてみます。 アニメーションで右向き・左向きに曲がるといった際、どちら方向に曲がれば良いのかを求めたいときに使えます。 目次 角度を求める それは何をやっているの? せっかくなので(Root Motionで)向きを変…

【Unity】Particle SystemにLODを適応してみる

何となく思いついて、LODをパーティクルに適応したところ、出来てしまいました。何の役に立つのかと思ってみましたが、これが思いの外有効そうです。 例えば複数の演出で成り立っているパーティクルの場合、距離に応じて演出を追加していくのもアリかもしれ…

【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】Occlusion Portalについて

モデルが非表示になっている部分をスキップすることで3D空間を効率的に描画するOcclusion Cullingという機能の機能の一つ、Occlusion Portalsという機能についてです。 Occlusion Portalsという機能 どんなときに使えるのか 実際に使用してみる 簡単なステー…

【Unity】NavMeshSurfaceを使ってゲーム再生中にNavMeshをベイクする方法

今回は動的にNavMeshをベイクするNavMeshSurfaceについてです。 動的にNavMeshをベイクする 高レベルのコンポーネントを入手する NavMeshSurfaceを利用した動的なNavMeshのベイク まずは使ってみる NavMesh Surfaceのセット NavMeshSurface.Bakeの呼出 応用 …

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

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

【Unity】Animatorをもっと楽に使いたい私の為の、再生中のAnimationControllerと追加AnimationClipをクロスフェードする方法

今回は再生中のAnimationControllerに、別のアニメーションを流し込む方法を見つけたので、こちらにメモします。 AnimationControllerという機能 AnimationControllerは突発的なアニメーションを挟むと複雑化する そうだ、Playable APIを使おう Playable API…

【Unity】ユニティちゃんシェーダーを使うと変な模様や色が出るケース

ちょっとヒットしたのでメモ。 スカートに変な色が… ユニティちゃんシェーダーパッチの適応 単純にデプスバッファの精度が足りない スカートに変な色が… ユニティちゃんをインポートすると、体の一部や服の一部が予想していた色とは違う色になる事があります…

【Unity】さよならステートマシン。旧AnimationっぽいAPIでアニメーションを再生する SimpleAnimation

今回はステートマシンを使用せずAnimatorでアニメーションを再生する、Simple Animationについてです。 ステートマシンにサヨナラを Playable API Unity公式の旧Animationを模したアニメーション再生コンポーネント アニメーション切替も超絶シンプル Animat…

【Unity】ユニティちゃん等で、ジャンプ中に追加で上下してしまう問題の解決方法

今回は上下の動きが最初から含まれているジャンプモーションをアクションゲーム等で使用する方法についてです。 ジャンプ中にジャンプモーションがジャンプする ジャンプアニメーションから上下移動を取り除く 手順 実際の動作 着地時に足がめり込む ジャン…

【Unity】ProBuilder Basicでコーネルボックスを作ってみる

ProBuilder コーネルボックスを作ろう Cubeを作成する Cubeの色を変えよう ノーマルを反転しよう ライトを配置しよう 内側のCubeを配置しよう 完成 参考 ProBuilder 旧Prototype、現ProBuilderという無料のアセットを使用すると、簡単なモデリングが出来るみ…

【Unity】CinemachineのFreeLook Cameraが楽しい

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

【Unity】シェーダーで3Dモデルのアニメーションを行う Animation Texture Baker

今回はシェーダーで3Dモデルのアニメーションを行います。 シェーダーで3Dモデルのアニメーションを行う とりあえずやってみる Animation Texture Bakerの導入 テクスチャでアニメーションするモデルの導入 アニメーションの変換 GPU Instancingに対応してみ…

【Unity】Prefabの”モデルの差し替え”を、セットしたコンポーネントを一々付け直さずに行う方法

今回はModelの更新に関するTipsです。 モデルの差し替えのトラブル オブジェクト構造やコンポーネントを維持しつつモデルを差し替え 実際の流れ コンポーネントの参照先は残らない問題 関連 モデルの差し替えのトラブル ゲーム開発を進める時、最初からモデ…

【Unity】AnimationControllerを用意せずAnimatorによるアニメーションを使う

Playable APIを使用してアニメーションをAnimationController無しで制御します。 大量のアニメーションとAnimationController Playable APIとは何ぞや Playable APIでAnimationっぽい事をしたい ソースコード サンプル 問題 関連 大量のアニメーションとAnim…