読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

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

ステージ構築

【Unity】Spriteで9 Sliceを使う

今回はUnity 5.6から可能になったSpriteでの9 Sliceについて紹介します。 Unity 5.6から搭載された 9 Slice(スプライト向け) 9 Sliceって? 9 Sliceを使ってみる スプライトの用意 タイリング(Tiled) TiledのTile Mode TiledとSlicedの違い Colliderの大…

【Unity】AssetBundleに格納したSceneやPrefabがピンクになる問題

AssetBundleにモデルを格納した時、モデルのマテリアルがユニークなシェーダーを使用しているとモデルがピンクになる事があります。 今回はその原因と対策についてです。 モデルがピンクになるという事 AssetBundleに格納したSceneやModelがピンクになる 問…

【Unity】ゲームのビルド直前に "ファイルの退避" や "シーンの最適化" 等の処理を挟む

今回はUnityでゲームをビルドする前にプロジェクトやシーンに何らかの処理を行い、、ビルド完了後に戻す方法についての紹介です。 Unity 5.6以降で動作します。 作る際に便利なものとパフォーマンスに良いもの ビルド前とビルド後に処理を行う(全体) ビル…

【Unity】Area Lightと、Emissiveな材質を持つ発光するオブジェクトが輝けと囁く

Unityのライティングシステムの隅にひっそりと存在するArea Light(エリアライト)、その知られざる生態系について、今回は踏み込んでみようと思います。 影の表現が柔らかくなるAreaLight 広い範囲からの照射ばぼんやり、狭い範囲からの照射はハッキリ Area…

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

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

【Unity】引き伸ばしてもテクスチャが伸びないキューブを作る MasterCube

UnityのCubeを引き伸ばしても、テクスチャが引き伸ばされずにしき詰めてくれるアセットを見かけたので、メモします。 Master Cube Cubeを引き伸ばしてもテクスチャが伸びなくする CubeのUVを面毎に調整する メッシュを結合して単一のメッシュにする 感想 Mas…

【Unity】ユニティちゃんを転がすゲーム、UnityChanBallRollはどのように作られていたのか

新人ブートキャンプに使われたユニティちゃんを転がすゲーム、UnitychanBallRollについて解析してみます。 このゲームは、Roll a ballの発展形っぽい感じで「キャラクターがステージ上に配置されているアイテムを回収しながら、ゴールへ向かう」といった内容…

【Unity】ライティングを理解するためにコーネルボックスを作って遊ぶ

コーネルボックスをご存知でしょうか? なにやらライティング関連のデモによく出てくるアレです。つまり、コレです。 ちょっと週末にライティングについて色々と聞いたので、今回はコーネルボックスを作ったりして、ライティングについて色々と試してみよう…

【Unity】マルチシーン編集する際に知っておきたい、複数のシーンに跨ったライトマップを操作した時の挙動について

今回はマルチシーン編集(Multi Scene Editing - MSE)による複数シーン編集とライトマップについてです。 Unity 5.3より複数のシーンを同時に編集可能になりました。これにより広大なシーンを複数のシーンに分割し段階的に構築する事や、屋根や壁といった編…

【Unity】戦車が撃ち合うゲーム「Tanks!」はどのように作られてるのか

ふと思いついて、Unityの「Tanks!」の中身を解析してみます。 ゲームの内容は、1対1で戦車が出て撃ち合い、先にHPを全損させた方が勝ち…といった感じです。 パンツぁーフォー。 ステージの構造 各コンポーネントの役割 ゲームシステム側の話 GameManager Ca…

【Unity】ライトマップのベイク時間を短時間で終わらせる

最近、Unityの割と大きめでリアルな感じのデモが幾つかきました。例えばThe Courtyard(上画像)とか、The Blacksmith: Environments(下画像)等です。 で、広範囲かつリアルなのは良いのですが、この手の大きなデモ・大きなステージはライトマップのビルド…

【Unity】AssetBundleManagerで「AssetBundleからSceneをロード」する

今回はAssetBundleにSceneを格納し、ロードする手法について紹介します。 上手く使うと、ステージの読み込みやローカライズしたUIの表示等に使えそうです。 目次 目次 AssetBundleの新しいサンプル、AssetBundleManager AssetBundleManagerを構築はフォルダ…

【Unity】リアルタイムライトがstaticなオブジェクトに対し、妙に強く反映される問題の解決法

Unity4からUnity5に移行した場合や、他のケースにおいて、realtimeのpointlightが妙に明るくなる事があります。特にMobile向けに開発している場合、これが発症するケースがあるかもしれません。 下の画像では、地面がstaticな場合と非staticな場合の比較です…

【Unity】Unity 5 で「光モノ系」を表現するあれこれ

今回は所謂「光りもの」の作り方について紹介します。Unity 4まではProでないと使用できなかったせいで光りものを使っている人が少なかったのですが、Unity 5 (personal)になりその辺りが自由に使えるようになったので、どんどん使っていきたい所です(但し…

UnityのOcclusion Cullingの機能を使って3D空間を効率的に描画する

Occlusion Culling OccluderとOccludee Smallest OccluderとSmallest Hole Occlusion AreaとOcclusion Portal Occlusion Cullingがあんまり効かないケース 参考 Occlusion Culling Occlusion Cullingとはオブジェクトが遮蔽物に隠れていた場合にオブジェクト…

Unity初心者が知っておくと少しだけ幸せになれる、シーンにオブジェクトを配置する時に使える18のTips+10

Unityエディタでオブジェクトを操作する上で、知っておくと少しだけ幸せになれるTipsを幾つか紹介します。個人的に重要と思うものには★を設定しました。 目次 目次 オブジェクトの操作に関するTips コライダーの上に載せる感じで配置する Vキー&移動で他モ…

Unite2015で公開されたRépublique Tech Demoをチェック!Unity5向けのライティングやプロジェクト構造を読む

先日Unite2015で公開されたRépublique Tech Demoについて解析していこうと思います。 目次 目次 Républiqueとは プロジェクト/ファイル管理を読む シーン構造を読む ライティングを読む コンポーネントを読む キャラクターを動かす部分を読む 感想 (オマケ…

Unity5を使った屋内向けにもう少し綺麗なライティングのメモ

前回 Unity5 で画面を綺麗にするライティングに挑戦してみるメモ で大雑把なライティングについてのメモを書きました。 今回は屋内でのライティングについて色々試しました。 目次 目次 屋内のライティング Reflection Probe Color Collection 屋内のライテ…

Unity 5 で画面を綺麗にするライティングに挑戦してみるメモ

今回はUnity 5で行うライティング設定や綺麗にするポイントについて調査した内容をメモしておきます。 Unity 4 free と比較して Unity5 Personal Editionで出来るようになった事 で紹介したように、Unity5はBeastからEnlightenへ移行しました。その過程で幾…

【Unity】冬道や地下鉄ステージのメイキングムービー【スピードレベルデザイン】

あまりにもステージを作るのが楽しそうだったので、メモしておきます。 道中を作るムービー Speed Level Design: Winter Road [ Unity 5 ] - YouTube 地下鉄を作るムービー Speed Level design - Metrò [Unity 3D] - YouTube アジア風の城まわりを作るムービ…

Unityのシーンビュー上にあるGizmoを非表示にする

Unityはシーン上にGizmoといった形でオブジェクトの情報を表示する事が出来ます。Gizmoを使うことでオブジェクトの影響範囲や移動ルート、その他諸々がシーン上でビジュアル的に確認出来るため、ゲームの進行や状態の確認に非常に有用です。 GizmoはOnDrawGi…

Unityエディタ上で作成したMeshをOBJファイルとして出力する

以前紹介したメッシュの結合ですが、OBJを吐き出せるようにしてみました。 ここからパッケージをダウンロード出来ます。 Unityのシーン上に配置したモデルを結合する - テラシュールブログ Unityのシーン上に配置したモデルを結合する - テラシュールブログ …

複数のシーンを同時に編集出来るAdvancedAdditiveScenesが凄すぎる

Unityは将来的にマルチシーンエディティング(複数のシーンを同時に編集)の機能を持つことになりますが、これは同じくらい凄い機能です。 AdvancedAdditiveScenes Fast Platform Switchと同じくらい、本当に凄いアセットです。 プラットフォーム切替を15倍…

Unityのシーン上に配置したモデルを結合する

以前、ステージの作り方について紹介しましたが、これには想像の通り問題が一つあります。それは、GameObjectをすごい数要求する事です。 Sample Assetsのプロトタイプアセットを並べて簡単なステージを作ってみよう[Unity] - テラシュールブログ Sample Ass…

Sample Assetsのプロトタイプアセットを並べて簡単なステージを作ってみよう[Unity]

Sample Assetsを使用してサンプルステージを構築する方法を紹介します。多くのゲームではありもの(秋葉原の町)や、地面だけ・壁と地面だけといった構造で作られているケースが多いです。もしくはTerrain。 今日はある程度プリミティブなモデルを適当に並べ…

Unity内でMMDモデルを自由に走らせる手軽な方法

MMDモデルをUnityで自由に走らせる手軽な方法を紹介します。*1 今回は確実に大丈夫なずん子ちゃんを使用します*2 Root移動のないモーションを使用したい場合はこちら。 Unity上でMMDモデルを独自アニメーションで走らせる - テラシュールブログtsubakit1.hat…

Unityエディタのシーンビューカメラの小ネタ

シーンビューのカメラについての小ネタ。 常時特定のオブジェクトを追跡する 確かUnity 4.2辺りからシーンビューのカメラが特定のオブジェクトを常時追跡するようにする機能が追加されてました。 対象のオブジェクトを選択しShift + Fを押すと、以降は別のオ…

UnityのSceneViewに文字やボタンを表示する その2

指摘を頂けたので補足記事。 https://twitter.com/dracounix/status/492830807321354240 そういえばEditor.OnSceneGUI内に処理を記述する事でもシーン内にGUIが記述出来ます。 やり方は以下のとおり。 Editorフォルダ以下にEditorクラスを継承したCustomEdit…

UnityのSceneViewにラベルやボタンを表示する

Unityのシーンビューへ線へオブジェクトの影響範囲等を記載する場合、Debug.LineやGizmoで行います。 その派生で、シーンビューへ文字列を表示したい場合、若干面倒ですがOnDrawGizmosやOnDrawGizmosSelectedコールバック内でHandle.Labelを使用します。 Han…

無料のタイルマップエディタ・AutoTileSet

無料のタイルマップが地味にすごかった。AutoTileSetは、タイルマップを作る感じのアセットだ。 AutoTileSetAutoTileSet(AutoTileSetManager)を選択中に画面にタイルが表示されるので、そのタイミングで画面をタップすると画面にタイルが置かれる超シンプ…

UnityでIBL(イメージドベースドライティング)、実写から光源を求める

以前にも紹介したが、IBL(イメージベースドライティング)とは「画像を元にライティングを行う」技術だ。オブジェクトをリアルに表現している要素は殆どライティングなので、既存の画像を元に光源を設定すると、非常によく見える。これと「物理シェーダー(…

プレハブの入れ子構造・Nested Prefabへの挑戦その2

前回のPrefab In Prefabとは方式が異なる、新しい方法を試してみた。前回:[Unity]prefabの入れ子構造を可能にする、プレハブのネスト化を試作 その1 有力候補:prefab_in_prefab■Nested Prefab 2今回はプレハブ化に辺り特殊な事は行わず、ただ単純に元のプ…

ビルド後のiPhone/Androidゲームにステージを追加する簡単な方法

意外と知られていないTips。実はBuildStreamedSceneAssetBundleを使えば、AssetBundleをシーン単位で構築することが出来る。これで構築したAssetBundleを読み込んだ後は、LoadLevelやLoadLevelAditiveでダウンロードしてきたシーンを読み込める。BuildPipeli…