テラシュールブログ

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

3D

【Unity】ベイクした影とリアルタイムな影を混ぜる新しい幾つかの手法と、その他諸々【5.6b3】

Unity 5.6(b3)より、Experimental(実験的)で提供されていた新しいライトマップの機能がベータ版に統合されました。 ライトのMixedモードがStationaryモードに変化 ベイクした影を表現しつつリアルタイムな影も使いたい 事前計算した影を「マスク」として準…

【Unity】7.5時間を約3分に。ライトマップ(Realtime GI)のベイク時間を短縮する為のチュートリアル

Unityでライトマップをベイクする場合、何も考えず初期設定でベイクすると非常に時間がかかります。それを短時間でベイクする為のチュートリアルとチュートリアルを行う為のアセットが公開されてました。 チュートリアルとアセット 7.5時間が2.25分に 補足 B…

【Unity】ハンドカメラ風カメラの挙動を実現するHandheldCamera

飛行機の制御を作ったら、ハンドカメラ風のカメラ挙動が欲しくなります。で、StandardAssetsに含まれるCameraにソレっぽい挙動があったので、試しに使ってみます。 HandheldCamera HandHeldCamコンポーネント Target Field Of View 関連 HandheldCamera Stan…

【Unity】サクっと飛行機の挙動を追加して飛び回る

今回は飛行機の挙動を追加してみます。 StandardAssetsの飛行機 サクッと飛行機の挙動を追加する 操作を自分好みに変更する Aeroplane Controllerのパラメータ 関連 StandardAssetsの飛行機 Unity 5系からStandardAssetsに飛行機の挙動が追加されました。事…

【Unity】着地モーションをキャンセルして即座に走り出す

今回は着地モーションをキャンセルする方法についてです。この方法は実際には色々と手があるので、その一つです。 着地モーションと着地モーションキャンセル 着地モーションのキャンセル 着地モーション自体のスキップ ちなみに、 関連 着地モーションと着…

【Unity】IBLの背景(SkyBox)を動的に変更する

IBL(イメージ・ベースド・ライティング…HDR画像を元に光源を再現する)手法を使うと、非常に背景に馴染む3D表現が出来ます。 これを今回はある目的のためにリアルタイムに更新してみます。 Skyboxの更新 注意 関連 Skyboxの更新 Unityでは、Skyboxを更新す…

【Unity】パーティクルシステムの粒子を発光させるLightsモジュールを使う

今回はUnityのパーティクルシステム(通称Shuriken)に新しく追加された、Lightモジュールを使用して色々と遊んでみます。 パーティクルに光を追加する 「ライト」の設定 どの程度光表現を行うか パーティクル表現の影響を受ける その他「Light」との違い お…

【Unity】NavmeshAgaentの移動がOffMeshLink上で妙に加速するのを防ぐ

OffMeshLinkは複数のNavMeshを繋ぐ上で役に立つ機能です。例えば下のようにメッシュ間に崖がある場合、その辺りを繋いでくれます。 但し、OffMeshLinkは何故か通常より高速で動作する性質があるらしく、若干気持ち悪い動きになってしまいます。 今回はその辺…

【Unity】Navmeshで障害物を避けて移動するルートを事前に取得する

今回は経路探索AI(Navmesh)のルートだけを取得してみます。 NavmeshAgentを使えば、とりあえずゴールへ至ることは出来ますが、色々と調整が出来ない所があったり、とりあえずルートを知りたいといったケースでは必要ありません。なので、パスだけを取得し…

【Unity】Shadow ProjectionのClose FitとStable Fitについて

今回はQualityの設定にあるShadow Projectionの設定について、少し説明が分かりにくかったので検証してみます。 Shadow Projection Stable Fit Close Fit あくまで描画範囲を設定しているだけ 動かすと影がちらつく 描画判定はRecieve Shadow 感想 関連 Shad…

【Unity】テクスチャに焼いた影とリアルタイムな影を混ぜる

今回は焼いた影とリアルタイムな影を混ぜる方法についてです。 焼いた影とリアルタイムな影 Baked Shadowはリアルタイムなオブジェクトに影を落とさない リアルタイムな物にBakedで焼いたマップの影をに落とす パフォーマンス・クォリティを稼ぐために Shado…

【Unity】MecanimのAnimationClipを動的に差し替える

今回はMecanimのAnimationClipを動的に差し替える方法について。 Animationの差し替え AnimationClipを差し替える 関連 Animationの差し替え ゲームでアニメーションを使用して制御していると、時々アニメーションを差し替えたくなる事があります。例えばツ…

【Unity】GameObjectのstatic設定についてのアレコレ

UnityはGameObjectにstaticのフラグを設定する事が出来ます。面倒な場合はeverything(全部)で設定してしまうのですが、これは結構意味がり、場合によってはチェックを外したほうが良い事もあります。 色々なstatic Lightmap Static Reflection Probe Stati…

【Unity】NavMeshとRigidbodyを連携して動かす

今回はNavmeshで動かすキャラクターを一時的に物理演算で動かしてみます。 UnityのNavmesh(経路探索AI)はNavmeshAgentというPhysicsとは異なった力によって動きます。その為、PhysicsとNavmeshを連携させる場合、少々面倒な事になります。 Navmeshの移動 N…

【Unity】リアルタイムデモ「Adam」の実行ファイルとアセットが公開

Adamの実行ファイル、及びAdamに使用したアセット群が公開されました。AssetStoreやGithubから取得出来るみたいです。 blogs.unity3d.com 実行ファイル 実行ファイルは、GeForce GTX 980 及び Intel Core i7 の環境で30FPS出るみたいです。ちなみにサイズは3…

【Unity】壁や床の絵がチラチラするアレを何とかする

今回は壁や床の絵がチラチラパタパタするアレ、要するにZファイティングについてです。 壁や床の絵がチラチラするアレ Zファイティングの解決方法 Unity 5.5の仕様変更 壁や床の絵がチラチラするアレ Unityを始めたばかりの人がよくやるミスなのですが、カメ…

【Unity】Navmeshで離れた空間にテレポートする

今回はNavmeshでキャラクターを移動させる際、本来であればNavmesh的につながってない場所を移動させる方法についてです。 入り口と出口が直接つながっていないケース 離れた空間を繋ぐoffmesh link Offmesh Linkの移動を即座に完了させる 関連 入り口と出口…

【Unity】uGUIのWorld Spaceを楽に配置したい

uGUIのWorld Spaceを楽に配置したい場合によく使ってるTipsです。 World SpaceのUI Word SpaceとUI解像度 個人的によくやっている方法 関連 World SpaceのUI CanvasはScreenSpace-Overlay(常に画面最前面)やScreenSpace-Camera(指定のカメラに映るように…

【Unity】物理演算とAnimationで物を投げてみる

昨日の続きで、物理演算で動くオブジェクトをAnimationの力で投げてみました。 理屈 作業 飛距離は投げる速度次第 関連 理屈 tsubakit1.hateblo.jp 作業 まず投げるオブジェクトを用意しました。回す際にはPivotモードで動かすと楽です。 pivotの中心点と全…

【Unity】アニメーションと物理演算を連動させる

試したら出来てしまったので、一応メモします。 物理演算とアニメーション Animationに物理演算の力を追加 実際にやってみる Physics2Dでは少し手法が異なる 関連 物理演算とアニメーション Unityを初めて作った人がよくやる事が、物理演算ベースで作成した…

【Unity】iOSでASTCフォーマットのテクスチャ圧縮を使う

今回はPVRTCと比較して割と綺麗で消費メモリも少ないASTCフォーマットのテクスチャ圧縮を使用する方法についてです。 ASTCについて ASTC を使用する ASTCとPVRTCとTrueColorを比較してみる 使えるのはA8以降のCPU 関連 ASTCについて wlog.flatlib.jp ブロッ…

【Unity】Unity 5.5以降のRender Pathの設定

Unity 5.5でRender Path(ForwardやDeferredを設定してたアレ)の表示がPlayer Settingsから別の場所へ移動しました。 新しいRender Pathの設定場所 Standard Shader Qualityの設定も 関連 新しいRender Pathの設定場所 新しい場所は、Project Settings > Gr…

【Unity】UnityでARToolKitを使ってみたら、意外と簡単だった

今回はARToolKitを試してみたので、そのあたりメモします。 AR界のARToolKit 実際に使ってみる パッケージの入手 インポート マーカーを作る Unity上でARマーカー表示を行う Tips 感想 AR界のARToolKit ARToolKitは、マーカーを追跡するAR(Augmented Realit…

【Unity】VR向け?のリストビュー List View Framework

少し面白いアセットを見かけたのでメモ。 VR向けなList View Framework リストビュー、しかしuGUIでは無い 要素は使い回すタイプ 使い方はまた今度 関連 VR向けなList View Framework List View Frameworkは、リストビューを構築するのに便利なアセットです…

【Unity】シーンの一括展開を行うSceneSet

Unity 5.5からシーンの一括展開を行う「エディタ機能の」SceneSetが追加されました。 SceneSet SceneSetの設定 SceneSetの作成 感想 関連 SceneSet SceneSetは、シーンの展開を一括で行うエディタの機能です。 例えば複数のシーンを幾つかの組み合わせで開く…

【Unity】Unity 5.5からオブジェクト選択がアウトライン方式になった

Unity 5.5からオブジェクトの選択方式が「アウトライン」になりました。以前は選択中の情報はワイヤー表現でしたが、アウトラインになったことで複雑なシーンでも選択しやすくなったんじゃないかなと思います。 アウトラインの色を変える アウトラインからワ…

【Unity】別AssetBundleへ分割したモデルが、分離されず元シーンに残ってるケースについて

AssetBundleにて依存先と依存元を分割すれば、ロード時間やアセットのメモリ使用量等を上手く節約出来ます。 ただ、このアセットの分割でえすが分割されないケースがあります。 AssetBundleを分割する AssetBundleが分割されないケース BatchingStaticしたメ…

【Unity】Animatorで動かすオブジェクトをスクリプトでも動かす際の注意

少し面白い挙動について調査したので、メモ。 (前提)モデルにスクリプトで回転を加える (前提)さらに色を変えるのみのアニメーションを加える (問題)回転を設定したアニメーションを加えると動かなくなる 位置が変化するアニメーションが設定されてい…

【Unity】Navmeshで取得した経路をApplyRootMotionで移動させる手っ取り早い方法

今回はNavmeshとApplyRootMotionを組み合わせて動かす手っ取り早い方法についてです。 ApplyRootMotionとNavmesh NavmeshAgentが設定されたオブジェクトの移動を止める 終了距離が近づいてきたら、動かないアニメーションに切り替える 要するに 関連 なお、…

【Unity】目的地へ辿り着くための矢印を表示する

今回は、ゲームで道に迷った(哲学的な意味ではない)際の目安となる、目的地への道順を示す矢印の表示についてです。 ゲーム進行の矢印 方向を示す3つの方法 ゴールに至る方向だけを示すパターン 中間点で方向を示すパターン 経路を探索して方向を得るパタ…