Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。Detail)を使ってハードウェアの負荷を軽減してレンダリングの性能を向上させていきます。なにやら難しい事をやり始めそう!と思われた方もいるかもしれません。使うだけなら全然難しい事はありません。Detailの略でカメラからの距離に応じて表示するオブジェクトを変えて描画の負荷を減らすということです。3Dモデルはメッシュで構成されていますが、このメッシュの面の三角形の数を減らしてレンダリングの負荷を減らします。LODではカメラからの距離のレベルに応じて表示したいメッシュを選択し、カメラが遠くになればなるほどメッシュの少ない3Dモデルに変換していくということになります。文字を見るより実際に設定して試してみる方がわかりやすいと思いますので、実際にメッシュを構成する三角形の数を変えたメッシュを用意し、LODに設定して試してみましょう。実際のモデルを作るのが面倒くさい方はアセットストアにあるLODが適用されている木のモデル等をインポートし確認してみるのもいいと思います。今回はLODに指定するオブジェクトをProBuilderで作成します(Unityだけで完結出来る為)。ProBuilderに関してはUnity2018から標準搭載されるProBuilderを使ってみるUnity2018から標準搭載されるProBuilderを使うとUnity内で3DCGの作成が出来るので、ゲームの屋内ステージ等を作成するのに非常に便利です。そこで今回はProBuilderの詳細を見ていきます。gametukurikata.com2018.03.27を参照してください。今回は難しい機能は使わないのでProBuilderが使えれば問題ありません。他の3DCG作成ソフトを使ってモデルを作成してももちろんかまいません。Toolボタンを押します。Pipeボタンを押します。Pipeボタンを押して合計3つのオブジェクトを作ります。WireFrameにして面の構成がわかりやすくなるようにします。上のように面を構成する三角形の数が違う同じ形状のオブジェクトが3つ出来上がりました。上の画像では位置をずらしていますが、Transformは全て合わせておいてください(デフォルトでOK)。Groupが作成される)。最後の番号はレベルに合わせますが、0が一番詳細なモデルで数が増えるたびに大雑把なモデルというように順番に付けていきます。Segmentsが20のものをPipe_LOD0という名前に変更します。次にヒエラルキー上の3つのPipeを全部選択(CtrlキーやShiftキーを使って)し、ProBuilderでExportボタンをAltキーを押しながらクリックします(Altキーを押しながらクリックする事でオプション画面が開きます)。FormatをObjに変更します。Groupを含むPipeプレハブを作成します。Groupコンポーネントを取り付けたモデルが出力されます。出力したモデルをヒエラルキー上に配置し、元々作成していたPipe_LOD0~Pipe_Lod2は使わなくなったので削除しておきます。Groupコンポーネントが取り付けられています。上の赤枠の中がカメラからの距離に対するレベルで、個々のレベルに応じてPipeモデルの子要素にあるオブジェクトが設定されています。今回は_LOD0~_LOD2という名前を付けてObjで出力した為、既に設定が施されていますが、自分でどの程度カメラから離れたらこのレベルに移行する、や細かいレベル分けもすることが出来ます。Beforeで選択したレベルの前に新しいレベルを挿入し、Deleteで選択したレベルを削除することが出来ます。レベルに応じたオブジェクトはRenderersのAddを押して、Pipeの子要素のLOD用のモデルを選択します。今回のレベルは上のような感じにしました。LOD2の右のCulledレベルに来るとオブジェクトの描画をしません。Groupを取り付けてレベルに応じたオブジェクトを設定していくことも出来ます。LODのベイクしたライトマップLODのライトマップをベイクした場合は一番詳細なモデルが静的モデル(動かないモデル)と同じようにライティングされるようです。ベイクしたライティングに対してLODモデルを正しく適用するにはライトプローブを使用するようです。ライトプローブに関してはUnityのライトプローブについてUnityのライトプローブの概要と実際にライトプローブを使ってみます。gametukurikata.com2018.10.03を参照してください。Groupを取り付けたゲームオブジェクトが出来ましたので、最後に確認してみましょう。Groupのカメラをドラッグして距離に応じてゲームオブジェクトの描画がどのように変わるかを見てみましょう。上のようになりました。面を構成する三角形がカメラの距離に応じて変わっているのがわかりますね。次にゲームビューのStatsを有効にしてレンダリング性能がどのように変わるかを見てみます。Groupが有効な場合はTris(三角形)とVerts(頂点)の計算でレベルに応じて計算しています。Groupを無効にした場合はカメラが遠くにあっても計算する必要がある為、変わりません。終わりに今回は一つのPipeオブジェクトでLODの機能を確認しましたが、通常のゲームでは大量のゲームオブジェクトが描画されます。その為、複雑なメッシュを大量にゲーム内に登場させるとレンダリングに時間がかかり処理が遅くなる可能性もあります。そんな時にLODを使ってカメラの距離に応じたオブジェクトを表示させることで処理速度の向上が出来るかもしれません。今回は面を構成する三角形の数を増やして確認しただけですが、メッシュの面の数を少なくして形状自体を変えて作成したオブジェクトを設定する事も出来ます。するとさらに処理速度の向上が望めるかもしれません。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事Unity基本情報UnityのVideoPlayerを使って動画の再生・停止をさせるUnity5.6以降で導入されたVideoPlayerを使って動画の再生したりスクリプトから停止したり、再生速度の操作してみます。Unityの軸での回転についてサンプルを作成し理解を深めていきます。Unity基本情報Unityで一つの機能をパッケージ化し他のプロジェクトで使用するUnityで一つの機能をパッケージ化し他のプロジェクトでインポートして使用してみます。GCを有効にするとGCを複数フレームに分割して行うことが出来ます。Unity基本情報Unityの角度計算メソッドをわかりやすくするサンプルの作成Unityの角度計算メソッドの使い方をわかりやすくする為にシーンビューでゲームオブジェクトを動かして計算された角度を視覚的に確認出来るサンプルを作成していきます。Unity基本情報UnityのSmooth系メソッドを使って滑らかな遷移をさせるUnityのSmooth系のメソッドを使用し、滑らかな移動やパラメータの遷移を行ってみます。UnityのライトプローブについてUnityで空の雲を動かすホームUnity基本情報スポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。