タグ付けされた質問 「3d-meshes」

3次元のオブジェクトの幾何学的表現。3Dメッシュは、三角形やその他のポリゴンの集まりで構成され、ボリュームとサーフェスを形成します。それらは一般に、コンピューター画面上の視覚的表現に使用されます。

8
球を作成するためのアルゴリズム?
誰もが、la緯度線、lo経度線、および半径の量で球を手続き的に作成するアルゴリズムを持っていますrか?Unityと連携するために必要なので、頂点の位置を定義してから、インデックスを使用して三角形を定義する必要があります(詳細)。 編集 私はコードを統一して機能させることができました。しかし、私は何か間違ったことをしたかもしれないと思います。を上げるとdetailLevel、頂点とポリゴンを移動せずに追加するだけです。何か忘れましたか? 編集2 法線に沿ってメッシュをスケーリングしてみました。これは私が得たものです。私は何かが欠けていると思います。特定の法線のみをスケーリングすることになっていますか?

2
Blenderで2つのオブジェクトをマージする方法
私がやったこと Spehereをモデル化するために、Subdivision SurfaceモディファイヤでCubeオブジェクトを作成しました。 斜めの長いバトンのように見える直方体オブジェクトを作成しました。 私がやりたいこと これら2つのオブジェクトをマージしたいと思います。だから私はただ一つのオブジェクトを持ちたい-片側に突き出たバトンを持つ球体(のようなキューブロック)。底に喉が付いた頭のように見えるはずです。 やりたいこと サブディビジョンサーフェスモディファイヤを適用したくありません。後でオブジェクトを適切に編集できるようにしたいです。 バトンと球体の間にスペースを入れたくありません。一貫性があるはずです。 悪い技術なしで可能になるはずです。すべてがいいはずです。 私の質問 これら2つのオブジェクトをうまくマージするにはどうすればよいですか?ありがとう。-私が何を説明したいのかが明確であることを願っています。
23 3d  models  blender  3d-meshes 

1
構築/構造メッシュを簡素化するアルゴリズム
建物や類似の構造のメッシュを単純化するアルゴリズムを探しています。 編集:私は、Hoppeのアルゴリズムは単純化によりメッシュをますます球形にする傾向があるとコメントしていました。しかし、私はそれについて確信がないので、コメントを削除しています。対照的に、建物は簡素化が進むにつれてますます長方形になる傾向があります。バージョン9.0のD3DのD3DX拡張(d3dx9.lib)には、プログレッシブメッシュの単純化を行うためのクラスがありました。参照: http : //doc.51windows.net/Directx9_SDK/ ?url= / directx9_sdk/ graphics / reference/ d3dx / functions/ mesh / d3dxgeneratepmesh.htm http://msdn.microsoft.com/en-us/library/windows /desktop/bb281243(v=vs.85).aspx
17 3d-meshes 

1
手続き型メッシュ:UVマッピング
手続き型メッシュを作成し、テクスチャを適用したいと思います。問題は、私が望んでいるように固執させることができないことです。 アイデアは、メッシュ全体に一度だけテクスチャをペイントして、繰り返しが発生しないようにすることです。それを実現するには、どのようにUVをマップすればよいですか? 私のメッシュは、56個の三角形で構成される単純な平面です。写真を追加して問題を解決しますが、評判が10ポイントを下回っているのでできません。 どんな助けも大歓迎です。 編集(親切な人々は私に投票を与えました、ありがとう): 私のメッシュに会います: そして、テクスチャ化されたとき(テクスチャを繰り返してみました): そして私の質感: 編集2: bummzackの指示はチャームのように機能し、メッシュは私が望んだとおりにテクスチャリングされました。ありがとうございました。

3
「世界からの脱落」を引き起こした原因とそれを修正した理由
初期の3Dゲームの多くは、あなたが楽しそうに歩き回り、突然すべてが黒くなるという問題を抱えていました。そして、あなたが歩いていたシーンの中空のファサードのシェルのように見える島が上の距離まで上昇しました。あなたが世界から落ちたからです。これはBethesda Softworksにとって長年にわたる特定の問題であったことを覚えていますが、彼らだけではありませんでした。野生で見たのは久しぶりなので、私たちはそれを過ぎてしまったようです。私の質問は2つの部分です。 1)この原因は何ですか?(私の推測では、ポイントモデリングされたキャラクターの位置と相互作用する、ポリゴン間の浮動小数点精度に関連するシーム、つまり、フロアチャンクAが位置1.0で終了し、フロアチャンクBが位置0.9998で開始し、マイクロ秒の位置が0.99992、そしてブーム、あなたは世界を転落します。しかし、それは単なる推測です。) 2)どのように修正されましたか?

4
3DモデルをJavaにロードする方法は?
LWJGLを使用して、画面に描画する3Dモデルをロードする最も簡単な方法は何ですか? LWJGLには読み込みサポートが組み込まれていないので、特に.blendファイルを読み込むのに役立つ小さなライブラリを探しています。
14 3d  java  3d-meshes  blender  lwjgl 

4
COLLADAはどうなりましたか?
数年前、COLLADAは非常に大きなものになりそうでしたが、おそらくDCCパッケージからゲームのツールパイプラインに3Dアセットを取り込むためのかなり標準化された形式になったかもしれません。また、カスタムエクスポートプラグインを作成して単一の3Dパッケージに自分自身をロックしたくないインディー開発者にとっては、良い選択肢のように見えました。 しかし、私は最近それについてあまり聞いていません。また、Max / MayaエクスポーターとFCollada libでフォーマットをサポートしていたFeeling Softwareは、これらのツールの無料バージョンを撤回したようです。 コラダは最近多くの使用を見ていますか?フォーマットの処理を支援するための無料/安価なライブラリ/ツールはありますか、それとも生のXML自体を読んでいるだけですか? あるいは、最近ではより良いオプションがありますか?たとえば、Max、Maya、またはBlenderからエンジンにモデル/アニメーションを取得したいインディー開発者向けです。-FBX?他に何か?

3
ボクセルキューブランドスケープ用のメッシュの最適化
Unity 3DでMinecraftish / LEGOワールドランドスケープ(キューブでプロシージャルに生成されたボクセルランドスケープ)を作成してみて、これらのランドスケープ用に作成されたメッシュが大量のメモリを消費することがわかりました。メッシュは現在、立方体の可視側面の頂点のみで構成されています。複雑な地形のメモリ使用量は、600〜700メガグラムかかる場合があります。 これらのメッシュは最適化できますが、これを行うための適切なアルゴリズムを見つけるのに苦労しています。 アルゴリズムは、異なる地形タイプのブロックを「マージ」したくないことを考慮に入れる必要があります。本当に簡単なスタートは、1つの軸に沿ってすべてのブロックを処理し、他の2つの軸に対して余分なスイープを行うことだと思います。 メッシュの形状を維持する必要があります。これは、空の空間または固体の空間が変更されるポイントへの頂点のマージではありません。その理由は、メッシュの周りをナビゲートする必要がある生き物などがあるかもしれないからです。そのため、非常に詳細度の低い、歪んだメッシュを作成することはできません。 これについての考え/提案/ヒントはありますか?

1
プログラムで球の中央半分を描く
球の真ん中半分を作成しようとしています。基本的には球を作成するために、スタック番号とスライス番号が与えられ、2つの変数phi(スライス用)とtheta(スタック用)がどれだけ進行するかを担当します。そして、プロセスはボトムキャップ、ボディ、トップキャップの作成に分かれています(以下を参照)。真ん中の半分(theta以下のように真ん中の50%)を達成するには、キャップを省略して、どういうわけかボディを変更する必要があります。スタック番号(1/4*stackNumbers to 3/4*stackNumbers)をいじっていましたが、思い通りの結果が得られませんでした。 真ん中の半分(pi/4 <theta <pi*3/4)を達成するには、球の生成をどのように変更すればよいですか?私の全体的な問題は、球を上部25%、中央50%、下部25%の3つの異なる部分に分割する方法ですか? プログラムで球を生成するための一般的なコードは次のとおりです。 private void generateSphere(int stackNumber, int sliceNumber, boolean facingOut) { int capVertexNumber = 3 * sliceNumber; int bodyVertexNumber = 4 * sliceNumber * (stackNumber - 2); int vertexNumber = (2 * capVertexNumber) + bodyVertexNumber; int triangleNumber = (2 * capVertexNumber) + (6 * sliceNumber …

1
Unityで実行時にインタラクティブクロスからメッシュを保存する方法は?
シーンの開始時に、「ボール」のゲームオブジェクトの上に「シート」と呼ばれるゲームオブジェクトを配置しました。シートには、インタラクティブクロスコンポーネントとクロスレンダラーがあります。インタラクティブクロスコンポーネントのメッシュは、多数の頂点を持つ平面です。実行時にシートがボールの上に落下し、必要な形状が作成されます。この時点でInteractive Clothコンポーネントを無効にすると、シートメッシュは希望どおりにとどまりますが、プレハブとして引き出すことができません。 誰かがその形のコピーを取得する方法を知っていますか? たとえば、実行時にインタラクティブクロスからメッシュを読み取り、それを使用してインタラクティブクロスコンポーネントなしでメッシュを希望どおりに戻すことができます。 どんな助けでも大歓迎です。
10 unity  c#  3d-meshes  cloth 

5
Vector3で演算子 '> ='を使用できないのはなぜですか?
私は私がように参照する2つの位置の間を移動するための四角形を取得しようとしている_positionAとします_positionB。どちらもタイプVector3です。長方形はうまく動きます。ただし、到達_positionBしても、本来のように反対方向に移動することはありません。 コードをもう一度見てみました。オブジェクトが移動ifすると、コード内のステートメントは、rectsの位置がに等しいフレームを逃したという結論に達しました_positionB。rectsの位置がより大きいか等しい 場合は、コードを変更して方向を逆にすることにしました_positionB。私のコードは長すぎないので、以下に表示します。 using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

2
三角形の隣接データの構築
三角形のインデックスのリストが与えられた場合、それをジオメトリシェーダーの隣接性を持つインデックスのリストにどのように正確に変換しますか? ここでは厳密にインデックスについて話していることに注意してください-頂点は存在しますが、浮動小数点比較やイプシロンに入る必要なしにそれらを使用して重複した頂点を一致させることができるため、インデックスのみに焦点を当てます-その仕事はすでに行われています。 リスト内の特定の三角形について、インデックス{0、1}、{1、2}および{2、0}(または{n、n + 1}、{n + 1、n + 2}、{ n + 2、n}必要に応じて)エッジから形成されます。インデックスリストは整形式であり、曲順を正しく順守します。 このようなエッジの場合、リスト全体を検索して、それらのインデックスのうちの2つを使用する別の三角形を検索できます。その三角形の3番目のインデックスは、そのエッジの隣接する三角形を完成するために使用するインデックスです。 隣接リストでは、元の三角形はそれぞれ6つのインデックスで表され、元のインデックスはスロット0、2、4に挿入されます。隣接関係を完了するための新しいインデックスはスロット1、3、5に移動します。エッジ{0、1}に対して完了するインデックスはスロット1に移動し、エッジ{1、2}に対して完了するインデックスはスロット3に移動します、インデックスエッジ{2、1}を完了するためにスロット5に入ります。 私は何を試しましたか? 私はそれを総当たりにしてみましたが、そうです、それでうまくいきますが、私はもっとエレガントなアプローチを求めています。 Eric Lengyelのエッジリストビルダーを試してみましたが、(1)元の三角形の順序が考慮されていないようです(2)曲がり順が考慮されていないようです(3)どこに行くか泥のように明確です次に、エッジリストを作成した後、(4)「triangleIndex」と「faceIndex」のような明白な明白なエラーがあるサンプルコードの疑いがあります。作成者もコードをコンパイルしたので、実行しないでください。確認しますか? だから-これからの提案やポインタは?

2
ボクセルフェースクロール(メッシュの単純化、場合によっては貪欲を使用)
編集:これは私自身の学習経験のためだけのものであり、私がこの質問をするのはパフォーマンス上の理由のためではありません。 これはMinecraftのような地形エンジンに関するものです。ブロックをチャンク(16x256x16ブロック)に格納します。チャンクを生成するときは、複数の手順テクニックを使用して、地形を設定し、オブジェクトを配置します。生成中は、チャンク全体(ソリッドまたは非ソリッド)に1つの1D配列と、ソリッドブロックの個別の1D配列を保持します。 生成後、隣接するソリッドブロックを繰り返し処理して、隣接するソリッドがないブロック面のみを生成します。生成する顔を独自のリストに保存します(これは、可能な顔/法線ごとに1つずつ、6つのリストです)。チャンクをレンダリングするとき、カメラの現在のチャンクのすべてのリストと、他のすべてのチャンクのカメラに面するリストのみをレンダリングします。これを行うには、6つのリストすべてを1つのバッファーに格納し、描画する範囲を変更します。 Andrew Russellが提案したこの小さなシェーダートリックで2Dアトラスを使用して、類似した面を完全にマージしたいと思います。つまり、それらが同じリストにある場合(同じ法線)、互いに隣接している場合、同じライトレベルである場合などです。最終的には四角形になることはわかっていますが、頂点の数を簡単に50%削減できるはずです私の見積もりが正しい場合はそれ以上。 私の仮定は、6つのリストのそれぞれを、それらが置かれている軸、次に他の2つの軸でソートすることです(ブロックの上部のリストは、Y値、X、Zの順にソートされます)。 これだけでも、非常に簡単に顔のストリップをマージできますが、可能な場合は、ストリップだけではなく、マージすることを目指しています。私はこの貪欲なメッシュアルゴリズムについて読みましたが、それを理解するのに多くの問題を抱えています。 だから、私の質問:説明されているように顔のマージを実行するには(動的なテレイン/ライティングの悪いアイデアであるかどうかを無視して)、実装が簡単なアルゴリズムがあるのでしょうか?また、私は貪欲なアルゴリズムをはるかに簡単な方法(リンクまたは説明)で案内する答えを喜んで受け入れます。 実装が簡単な場合や、ストリップを実行するよりも少しだけ優れている場合でも、パフォーマンスが少し低下してもかまいません。ほとんどのアルゴリズムは四角形ではなく三角形に焦点を当てているのではないかと心配しています。現在の方法で2Dアトラスを使用すると、現在のスキルに基づいて三角形を実装できるかどうかわかりません。 PS:私はすでにチャンクごとに錐台カリングを行っており、説明したように、ソリッドブロック間のフェースもカリングします。私はまだ閉塞淘汰をしていないし、決してしないかもしれない。 *編集:私は独自の小さなテクニックを実装しましたが、おそらく名前が付いていますが、6つのリストをたどります。これらのリストは、それらが置かれている軸、ブロックタイプ、照明レベルの順に並べ替えられています。私はそれらを反復処理し、移動しながら新しい長方形を作成し、同時に(特定の軸に向かって大きなバイアスをかけて)それらを成長させます。明らかに最適ではありませんが、実際には非常に高速であり、頂点数を平均で50%近く削減します。Byte56のコメントは、私が本当の答えを考えているクローゼットですが、答え/報奨金としてそれを選択することはできません。 これは、最適化をほとんど行わずに完全な初期地形を生成した後、この問題を処理する私の速くて単純な方法です。与えられたすべての正方形が同じ画像、光レベル、法線などであると仮定します。各色は、私がレンダリングする異なる四角形です。私のリストはそれらがそうであるようにソートされているので、これは非常に簡単/高速なアプローチです。

2
モデルで照明が連続しないのはなぜですか?
Blenderで基本的なテクスチャキューブモデルを作成してモデリングを練習し、それをUnityにインポートしました。照明をつけた後は見苦しいように見えます。ライトは、テクスチャキューブの行で連続的ではありません。 さらに奇妙なことに、床を構成するブロックの光は連続しています。何が悪いのですか? これは、テクスチャがない場合の外観です。 これらが完全な立方体であることを知らなかった場合、表面にわずかな曲線があると思います。テクスチャを明るくしてみましたが、効果もありませんでした。 Blenderからモデルをエクスポートするだけで、法線やそのようなものは設定しませんでした。ただし、床レンガモデルについても特別なことはしていません。 法線を確認したところ、正しい方向を指しているようです。 また、2つのモデルの違いは実際にはわかりません。テクスチャパネルで、プロジェクションをフラットに設定します。 Blenderでさまざまなパネルをチェックしましたが、[オブジェクトデータ]パネルの通常の関連オプションはこの[自動スムーズ]だけで、デフォルトではオフになっています。

3
同じ素材の断片を共有する複数のゲームオブジェクトをどのように持つのですか?
私の質問は、クローンではなく、同じマテリアルのピースをゲームオブジェクトで共有する方法はありますか?たとえば、これらのケースでは、同じマテリアルを共有する9つのゲームオブジェクトが、9つのオブジェクトのサイズを満たすように拡大されています。 そしてその場合、私は例えば真ん中のものを削除します、それは内部の空白で拡大された同じ素材を保持します: この目的のために、オブジェクトごとに1つのマテリアルを使用しましたが、私の意図は、複数のオブジェクトに1つのテクスチャを使用すること、または同じオブジェクトの異なる部分にある複数のテクスチャを使用することです。(カスタムUnity3Dテレインにあるペイントボタンのように)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.