タグ

3dとポリゴンに関するedo_m18のブックマーク (6)

  • Bounding Volume Hierarchy (BVH) の実装 - 交差判定編 - Qiita

    この記事はレイトレ合宿2アドベントカレンダーの五週目の記事です。 そして Bounding Volume Hierarchy (BVH) の実装 - 構築編 の続きにもなります。 構築編を書いたのが去年の12月なので、ゆうに半年以上経ってようやく記事が完成する形に… 構築編の続きとなるので、構築編を読んでおられない方は構築編からどうぞ。 BVH を使わない場合の交差判定 早速タイトルと違うことを言っていますが、まずは全てのポリゴンに総当たりしてチェックする方法を確認しておきましょう。 これに関してはコードを示してしまったほうがおそらくわかりやすいです。 int Intersect(const Vector<Triangle *> &polygons, const Ray ray) { for (int i=0; i<polygons.size(); i++) { Triangle *pol

    Bounding Volume Hierarchy (BVH) の実装 - 交差判定編 - Qiita
  • 【Unity】Particle SystemにLODを適応してみる - テラシュールブログ

    何となく思いついて、LODをパーティクルに適応したところ、出来てしまいました。何の役に立つのかと思ってみましたが、これが思いの外有効そうです。 例えば複数の演出で成り立っているパーティクルの場合、距離に応じて演出を追加していくのもアリかもしれません。 下の場合、LOD0は7個のパーティクルから成り立っていますが、LOD1は4個、LOD2は2個のパーティクルまで削減しています。 他のもいくつか使いみちがありそうですが、同時に機能しないどころかパフォーマンスを悪化させるケースもあります。 今回はソレについて紹介します。 目次 LODとパーティクル Particle SystemにLODを設定してみる で、パフォーマンスは? 描画負荷は削減される パーティクル自体のパフォーマンスはprocedural modeなら効率化 LODよりCullingGroupの方が良いかもしれない 感想 関連 LO

    【Unity】Particle SystemにLODを適応してみる - テラシュールブログ
  • Bounding Volume Hierarchy (BVH) の実装 - 構築編 - Qiita

    2016/04/04追記 ここで挙げているコードを参考にする際は、以下の点に注意してください(八田さん、Pocolさん、西山さん、qさんフィードバックありがとうございます) ※コピペしてコンパイルするとコンパイルエラー出ます。ちゃんと確認していないですがstlのメソッド名が間違っているようです ※SAHによるソートが遅いです。ソートに関してはPBRTに書かれているようなので参考にしてください(std::partitionを使うらしいです) ※SHAの計算は定義にバカ正直に当てはめていますが、値の比較しかしないのでいくつかの計算が省略できます ※上記の点についての修正は、気が向いたらやります。やらないかもしれません。 この Qiita というサービスが流行っているようなので、はてダのかわりに試しに投稿してみます。 と思ったのですが、アップロード可能な画像が月間2MBとちょっと辛いので、または

    Bounding Volume Hierarchy (BVH) の実装 - 構築編 - Qiita
  • なぜテクスチャサイズは2の累乗なのか

    作ってて普通に192x192のテクスチャでいい感じだったんで 別にそんな必要ねーじゃんとか思ってたんですが、 いろいろやってて、なんとなく理由が分かって来ました。 1.ポリゴンのテクスチャは明示するまで同じテクスチャを使う これびっくりしました。3Dってのは、テクスチャをポリゴンに指定して、 後はそのポリゴンをごちゃごちゃいじるんだと思ってたので。 Direct3Dはそうではなく、テクスチャステージってのがあって、 そこにテクスチャと描写方法を指定して、全ポリゴンがそれを使うって処理なんですよ。 2.1.の理由によりテクスチャを使いまわす必要がある 毎フレームごとにテクスチャ変えてちゃしんどいでしょうね。 まあポリゴンに色(含透明度)と位置を指定できるんで、 大体は使いまわせそうではあります。 3.2.の位置指定がfloatである これ。これが問題。浮動小数点です。(0.0~1.0で指定)

    なぜテクスチャサイズは2の累乗なのか
  • 【Unity】LOD(Level of Detail-距離に応じたハイポリ/ローポリの切替)をキャラクターで使用する方法 - テラシュールブログ

    Level of Detailをキャラクター・・・と言うかアニメーションを持つキャラクターに対して使用する方法についてです。 LOD(Level of Detail) キャラクターとLOD 一つのAnimatorでLOD やり方 関連 LOD(Level of Detail) Level of Detailは距離に応じて描画するモデルのポリゴン数を制御する機能です。近距離のモデルはハイポリ、遠距離のモデルはローポリで表現することで、オブジェクトの描画負荷を低減します。 例えば下の画像は左が通常ポリゴン、右がリダレクション*1を行ったモデルです。近くで見ると右は歪んでいますが、遠距離で見ると左のポリゴン密度が高すぎる点が気になります。 今までの自分の認識ではポリゴン数が問題になる事はそこまで無かったのですが、PBRを綺麗に見せようとすると超ハイポリによる表現が必要な点や、表情を綺麗に変形させ

    【Unity】LOD(Level of Detail-距離に応じたハイポリ/ローポリの切替)をキャラクターで使用する方法 - テラシュールブログ
  • Simplygonでポリゴン数とかマテリアル削減 - テラシュールブログ

    最近Simplygonなるメッシュ削減サービスがUnityに対応したらしい。 SimplygonはLOD(※1)と呼ばれるモデルを作成、ゲームを再生する上で重要なポリゴン数やボーン数を削減し、パフォーマンスを上手い感じに維持するサービスだ。 一見同じに見えるがポリゴン数が大幅削減されてるこのサービス自体は既にコンソールゲームにも利用されているらしく、実績一覧を見るとACVの姿が確認出来る。 実績一覧にACVの画像が ※1:LOD(Level of Detail)とは視点に近く大きく表示されるモデルはハイポリで、視点から遠く小さく描かれがちなものについてはポリゴン数の少ない3Dモデルに切り換える技術。 このサービス、インディー向けに機能制限版を無料で使用できるらしい。 実際に使ってみた。まずAssetStoreよりSimplygonをインポートし、 メニュー>Window>Simpolygo

    Simplygonでポリゴン数とかマテリアル削減 - テラシュールブログ
  • 1