3

私はOpenGL-ESを初めて使用し、瞳孔が拡張および収縮できる目の現実的なモデルを作成するための最良のアプローチを探しているので、チュートリアルを実行する際に計画を立てています。

  1. 私はブレンダーでメッシュを作成しました。これは基本的に穴のある球です(「極」または中央の頂点が削除され、周囲の円のエッジがいくつか削除されています)。

  2. 穴を囲む球のポリゴンに直接アイリステクスチャを追加する予定です。

  3. 瞳孔のサイズを変更するには、穴が拡張または収縮するように穴の頂点を再配置する関数が必要ですか?

  4. Objective-Cアプリ内でOpenGLを使用します。JeffLamarcheのObjectiveCエクスポートスクリプトがあります。Blenderからメッシュのみをエクスポートし、後でxcodeのコードにテクスチャを追加するのが標準ですか?それとも、最初にブレンダーでメッシュのテクスチャをセットアップして、より完成した製品のデータをxcodeにエクスポートする方が簡単/良いですか?

4

1 に答える 1

1

あなたの質問は少し古いので、どれだけ進歩したかはわかりませんが、自分で学習曲線を上っているので、答えを試してみようと思いました.

モデルの個々の頂点をアニメートしたい場合は、Vertex Skinning が必要な方法だと思います。OpenGL ES 2.0 でのみ使用できる手法ではありますが、まだ実験する理由がないため、その点について多くを語ることはできません。(おそらく、とにかく始めたいところですが、1.1 を超える柔軟性の向上は、学習曲線をさらに傾ける価値があります。)

テクスチャリングの質問に対する答えは、やや複雑です。実際に OpenGL でテクスチャを適用する必要があります。しかし、Blender ができることは、テクスチャ座標を決定することです。メッシュの各頂点には、関連付けられたテクスチャ座標があります。テクスチャ座標は、テクスチャ イメージ上の位置にマッピングされる X、Y 座標になります。座標は 0.0 から 1.0 の範囲です。画像テクスチャは長方形なので、テクスチャ座標 {0, 0} は左下隅にマップされます。{1 , 1} は右上隅にマップされます。{0.5, 0.5} は画像の正確な中心にマップされます。

したがって、ブレンダーでは、先に進み、UV マッピングを使用してオブジェクトにテクスチャを適用する必要があります。エクスポートすると、エクスポートされたメッシュには画像コンテンツは含まれませんが、画像コンテンツにマップされるテクスチャ座標は保持されます。これにより、OpenGL でテクスチャを適用できるようになり、ブレンダーで表示されたのと同じ方法でテクスチャが適用されます。

Blender API はリリースごとに大幅に変更されているように見えるため、個人的には、Jeff Lamarche のスクリプトでテクスチャ座標を吐き出すのに苦労しました。私は .obj コンバーターでより多くの成功を収めました。そこで、blender から .obj にエクスポートし、コマンド ライン ツールを使用して .obj から C ヘッダー ファイルに移動しました。

Lamarche のスクリプトで同様の問題が発生した場合は、次の投稿が解決に役立つ可能性があります

そして、これは .obj から .h スクリプトへの良いリソースです: http://heikobehrens.net/2009/08/27/obj2opengl/

于 2012-10-06T18:57:55.560 に答える