タグ付けされた質問 「textures」

テクスチャマッピングプロセスで使用されるビットマップ(ラスターイメージ)。

2
私の膨大な数の画像のために、またはそれにもかかわらず、スプライトシートを使用する必要がありますか?
2Dゲームを開発していますが、たくさんのスプライトがあります。3Dアニメーションとモデルを使用して2Dにレンダリングし、「フォールアウト」または「ディアブロ」に見えるようにしました。また、手で描くよりも簡単です(笑)。 私はすでにフレームレートを15fpsに削減しなければなりませんでした。これは、フレームをぎこちなくすることなく下げることができる最低のフレームレートでした。しかし、24フレームが非常に滑らかに見えたために悲しかったです。 これを行った理由は2つあります。 1)HDDスペースを削減します。画像が少ないほど、ゲーム全体が小さくなります。 2)RAMの消費を削減します。ロードする画像が少ないほど、RAMの制限を膨らませる問題を回避できる可能性が高くなります。 ただし、HDDスペースとRAMの両方でイメージを圧縮する方法があれば、それを行います。以前にテストしたことがありますが、ほとんどの場合、RGBA8888からRGBA5555に変換しても品質に変化はなく、TexturePackerプログラムでRGBA4444に変換してもほとんど影響を受けません。SFMLは、.PNGイメージのタイプに関係なく、同じ量のメモリを使用するように見えるため、現在これを行いません。異なる方法でロードする方法を調査しましたが、このテーマについては何も見つかりませんでした。 2Dビデオゲームの処理方法について多くの記事を読みました。コンセンサスは圧倒的です。優れたパフォーマンスのために、スプライトをより大きなテクスチャに詰め込みます!そこで、TexturePackerを使用して、小さなスプライトを非常に大きなスプライトシートにパックします。 ただし、キャラクターごとに10〜15のアニメーション、5つの移動方向、およびアニメーションごとに15〜40のフレーム(おそらく平均24)を用意する予定です。15アニメーション、5方向、およびアニメーションあたり平均24フレーム。つまり、1文字あたり1800個の個別フレームです。スプライトシートにパックされている場合、代わりに75個の画像のみです。(アニメーションごと、方向ごとに1つのスプライトシート。15* 5) ゲーム内の1人の巨大なボスキャラクターの場合、スプライトシートを使用できず、一度に1つのイメージを単純に読み込む方法をプログラムする必要があります。パフォーマンスのためにこれを行うことができるかどうかはまだわかりません。 キャラクターについては、すでにスプライトシートにパックしています。1人のキャラクターが歩き回る場合、これはほとんどの場合うまくいくようですが、時々失速します。ただし、そのキャラクターのすべてのテクスチャをプリロードするのではなく、テクスチャをスワップアウトする悪い考えのコードに起因します。 テクスチャをプリロードする場合、スプライトシートには意味があります。各キャラクターに1800個の小さな画像をプリロードするのは悪い考えだと想像するだけです。 ただし、一度に1つずつメモリにストリーミングしたり、メモリからストリーミングしたりするのは非常に高速であるため、一度に1つの画像をメモリに保存するだけで済みます。これは、特定の瞬間に各キャラクターが45 + MBではなく数KBしか消費しないという意味ではないでしょうか? ストリーミングは信じられないほど高速(1秒間にメモリとレンダリングに出入りする15枚の画像)が必要であり、画像は非常に小さいものの、キャラクタースプライトシートをロードすることをお勧めします。代わりにメモリに。しかし、とにかく大きなボスキャラクターのために、単一画像ストリームのようなレンダリングシステムをコーディングする必要があります。 私は実験してきましたが、単純なプロセスではありません。特に、現在グラフィックスを処理していないゲームエンジンの他の部分に取り組んでいるという事実を考えると。

1
ピクセレーションなしで画像サイズを縮小する方法は?
滑らかなエッジキャラクターと高解像度の画像を使用したゲームをたくさん見ていますが、キャラクターの画像を64x64に縮小しようとすると、ピクセル化された混乱が発生します。64x64のキャンバスから始めても、ピクセル化されたエッジが生じます。 OpenGLでスケーリングする必要がありますか?または、おそらく私が知らないフォトショップやピクセンでいくつかのテクニックがありますか?


7
テクスチャリングに最適な(最も人気のある)画像形式[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 さて、OpenGLでC ++を使用しています。3Dゲームのテクスチャを読み込むローダーを作成します。(ただし、テクスチャは2Dです)。使用しないことにしたとしても、透明性のオプションが必要です。最高の品質である必要はありませんが、適切な品質が必要です。フォーマットについて何を提案しますか(PNG、TGAなど)。また、ローダーを簡単に作成できるものにすることもできます(作成済みのローダーは使用しません)。また、ローダーを支援するためのリンク/ヒントがあれば、それを歓迎します。
13 c++  opengl  textures 

1
テクスチャを部分的に透明にする方法は?
グッドモーニングStackOverflow、openGLでテクスチャの一部を透過的にレンダリングする方法を見つけることができないように見えるので、私は今少し問題を抱えています。 私の設定は次のとおりです。壁を表すクワッドがあり、このテクスチャで覆われています(アップロードのためにPNGに変換されます)。明らかに、ガラスのペインを除いて、壁を不透明にしたいです。壁の後ろには、風景を表示することになっている別の飛行機があります。窓の後ろから景色を眺めたいです。各テクスチャは、アルファチャネルを持つTGAです。 「風景」が最初にレンダリングされ、次に壁がレンダリングされます。私はこの効果を達成するのに十分だと思ったが、明らかにそうではない。透明であると思われるウィンドウの部分は黒で、壁を通り過ぎると風景が表示されます。 GLBlendFunc()を有効にしてからいじろうとしましたが、うまくいかないようです。 重要なステップを忘れていますか? ありがとうございました :)

3
独自のスカイマップを作成するにはどうすればよいですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 3年前に閉店しました。 雲と大気の陰影で現実的な空を生成するための方法/ツールは何ですか? FOSSの代替案と球面投影は、余分なポイントを獲得します。

5
ソース画像からテクスチャアトラス/スプライトを生成するためのツール?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 テクスチャアトラス用の業界標準ファイル形式はありますか? 画像のディレクトリを取得し、それをテクスチャアトラスpngおよびその内容を説明するテキストファイルに変換するアプリは何ですか? これは主にOpenGL iPhone / Objective-Cで使用するためのものですが、多くのプラットフォームで標準が必要と思われます。これらを手作業で作成するか、スクリプトを作成して単純に並べることができますが、このためにいくつかのツールが既に作成されているようです。

4
2Dゲームで任意の大きな画像を処理する方法は?
質問 本当に大きな画像(ハードウェアがサポートできるサイズよりも大きい)を使用する2Dゲームがある場合、どうしますか?たぶん、私にはこれまでになかったこの問題に対する興味深い解決策があるかもしれません。 私は基本的に、一種のグラフィックアドベンチャーゲームメーカーに取り組んでいます。私のターゲットオーディエンスは、ゲーム開発(およびプログラミング)の経験がほとんどない人です。このようなアプリケーションで作業している場合、「画像を分割する」ように指示するよりも、内部で問題を処理する方が好みではないでしょうか? 環境 グラフィックカードは、使用できるテクスチャのサイズに一連の制限を課していることはよく知られています。たとえば、XNAを使用する場合、選択するプロファイルに応じて、2048または4096ピクセルの最大テクスチャサイズに制限されます。 通常、2Dゲームではほとんどの場合、小さな個別のピース(タイルや変形したスプライトなど)から構築できるレベルがあるため、それほど問題にはなりません。 しかし、古典的なpoint'n'clickグラフィックアドベンチャーゲーム(Monkey Islandなど)について考えてみてください。グラフィックアドベンチャーゲームの部屋は通常、全体的に設計されており、風景に取り組んでいる画家のように、再現可能なセクションがほとんどまたはまったくありません。または、大規模な事前レンダリングされた背景を使用するFinal Fantasy 7のようなゲーム。 これらの部屋のいくつかはかなり大きくなることがあり、頻繁に3画面以上の幅に広がります。現在、これらの背景を最新の高解像度ゲームのコンテキストで考慮すると、サポートされる最大テクスチャサイズを簡単に超えてしまいます。 これに対する明白な解決策は、背景を要件内に収まる小さなセクションに分割し、それらを並べて描画することです。しかし、あなた(またはあなたのアーティスト)はあなたのテクスチャのすべてを分割する人でなければなりませんか? 高レベルAPIを使用している場合、この状況に対処し、内部で(XNAのコンテンツパイプラインなどの前処理として、または実行時に)テクスチャの分割とアセンブルを行う準備をしてはいけませんか? 編集 XNA実装の観点から、私が考えていたものを以下に示します。 私の2Dエンジンは、Texture2Dの機能の非常に小さなサブセットのみを必要とします。実際にこのインターフェイスに減らすことができます: public interface ITexture { int Height { get; } int Width { get; } void Draw(SpriteBatch spriteBatch, Vector2 position, Rectangle? source, Color color, float rotation, Vector2 origin, Vector2 scale, SpriteEffects effects, float layerDepth); } …
13 xna  c#  2d  graphics  textures 

1
最適なテクスチャサイズは?
私は最近、プロジェクトにテクスチャパッケージャーを追加しました。これは、次のように、一定量のテクスチャを単一のテクスチャにパックします。 たとえば、これは582x1023ピクセルのサイズです。これらのパックされたテクスチャを追加する目的は明らかにパフォーマンスを向上させることだったので、OpenGL(LWJGLを使用)テクスチャの最適なテクスチャサイズを検索したかったのです。私が見つけたものは、広くサポートされている最大テクスチャサイズはによると、1024×1024であると考えられるということでした。この例のために。明らかに、多くのテクスチャだけがそれよりも大きくなるので、これは奇妙に思えます。ほとんどのグラフィックスカードは、それより大きいテクスチャをサポートしていると確信しています。ほとんどのグラフィックスカードは、たとえば4096x4096のテクスチャ(またはそれよりも大きいかもしれません)を処理できると合理的に期待できますか? 2番目の点に来るには(これがまだ1つの質問としてカウントされることを望みますが、本質的には同じ問題に要約されます):テクスチャのサイズを2の累乗にする必要があります(256x256、512x512、1024x1024、2048x2048、..)次の2の累乗よりも小さいテクスチャをパディングしますか?よると、この質問 2011年から、それは必須ではありませんが、性能や回避マイナーなバグを向上させることができ、この1 2012年からは、あなたは間違いなくパッドのテクスチャをすべきと述べています。ですから、これらの質問は以前に尋ねられたことがわかりますが、答えが変更されたと合理的に日付が付けられており、さらにそれぞれが私の質問に部分的にしか答えていません。他のプロジェクトはどのようにこれを処理しますか? TL; DR:ほとんどのグラフィックカードで処理できるテクスチャサイズはどれくらいですか?最適なテクスチャサイズは何ですか(またはありますか)。テクスチャの幅を次の2の累乗でパディングする必要がありますか?

4
Unity 5のガラス素材
Unity 5でガラス素材を作る方法を知っている人はいますか? 金属や画像のテクスチャーは作成できますが、ガラス素材の作成方法がわかりません。 Googleで検索してもUnity 5については何も得られないので、かなり簡単にできるはずです。 このようなシャワードアと飛行機のガラス用です:

1
Substanceのランタイムテクスチャキャッシングを停止するにはどうすればよいですか?
サブスタンスエンジンを使用したプロシージャルテクスチャは、キャッシュをオフにし、公開された変数を一度に1つずつ変更し、頻繁に変更し、さらに2、3回変更を試みた後でさえ、非常に迅速に更新されるようです。 ただし、基本的には反対です。たとえば、ユニットには、ダメージを受けたときに異なる方法で血液を生成する「血液」変数と、傷やへこみを生成するが治癒しても元に戻らない「戦闘服」変数があります。 そのため、変数がキャッシュされないようにするには、変数をダミー値に設定し、通常に戻してからを呼び出す必要がありますRebuildTexturesImmediately。 実行時にSubstanceに変数をキャッシュしないように指示するにはどうすればよいですか?一度変更すると、テクスチャをすばやく再生成できますか?

2
libgdxでテクスチャを繰り返します
繰り返されるテクスチャで領域を埋める方法は?今、私は次の方法を使用しています: spriteBatch.begin(); final int tWidth = texture.getWidth(); final int tHeight = texture.getHeight(); for (int i = 0; i < regionWidth / tWidth; i++) { for (int k = 0; k < regionHeight / tHeight; k++) { spriteBatch.draw(texture, i*tWidth, k); } } spriteBatch.end(); それは非常に明白です。たぶん組み込みのメソッドはありますか?

1
2Dアートアセット(スプライトなど)はどのように機能しますか?
ゲームについてのアイデアがあり、XNA for Windows Phone 7を使用した2Dゲームの開発を計画しています。 今日は、キャラクターに見せたいコンセプトアートをフリーハンドで描くことから始めました。今、問題はそれらの概念を取り入れてデジタル形式にすることです。 最初に気づいたのは、ゲームアートのさまざまな部分が本当にわからないことです。私はスプライト、テクスチャ、アニメーションがあることを知っていますが、それはそれについてです。テクスチャは3Dオブジェクト上のスプライトだと思いますが、それが正しいかどうかはわかりませんか?ここに私が持っているゲームアートに関する一般的な質問があります。 2Dゲームでテクスチャを使用しますか? ゲームアートのさまざまな部分をどこに適用しますか?たとえば、スプライトとアニメーションを使用する場合。 スプライト、テクスチャアニメーション、その他のアートの違いは何ですか? スプライト、テクスチャ、アニメーションはゲームの唯一のアート要素ですか? ゲーム内のすべての2Dアートはスプライトと見なされますか?キャラクター、背景など スプライトシートとスプライトシートの各キャラクターをどのサイズにしますか? デジタル見込み客からアートを描くための教育に関する良い本やチュートリアルはありますか?私は「GIMP Bible」を入手することを考えていましたが、このようなほとんどの本はデジタル描画よりも写真編集を多く教えています。 私の目的は、コンセプトアート(背景とキャラクター)をGimpを使用してデジタル形式にし、ゲームアートのさまざまな部分について学習する方法を学ぶことです。 とにかく、助けてくれる人に感謝します。

5
3Dゲームのテクスチャの作成を開始するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問がトピックに合うように更新します Game Development Stack Exchangeでます。 6年前に閉鎖されました。 3Dゲームのテクスチャを作成するための優れたチュートリアルはどこにあるのでしょうか? また、写真を撮ってゲームのテクスチャに変換するのは一般的な習慣ですか、それともデザイナーが自分でテクスチャを描画しますか? 更新: 状況をより具体的にするために、ゲームキャラクターが小さな建物にいるシンプルなゲームを作成しようとしています。そのため、コンピューター、テーブル、椅子、ドア、窓、壁などのテクスチャを作成します。建物はほとんど無関係です。Blenderの使用を考えていますが、3Dモデリングの経験はありません。
12 3d  textures  art 

5
エッジのスカイボックステクスチャアーティファクト
Macでのスカイボックステクスチャの描画に奇妙な問題があります。iPhoneでは、すべてがうまくいきます。私は、成功せずに近くと遠い飛行機の値を変更しようとしました。 これは6つのテクスチャのスカイボックスであり、テクスチャごとにこれを設定しました。 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 何が問題なのでしょうか? スクリーンショット: 編集: 私は背景色を赤に設定して、テクスチャを貫通しているかどうかを確認しようとしました また、テクスチャの座標をこれに変更しようとしました: float err_corr = 0.5 / TEXTURE_SIZE; GLfloat vertices[24] = { -1.0f - err_corr, -1.0f - err_corr, 1.0f + err_corr, 1.0f + err_corr, -1.0f - err_corr, 1.0f + err_corr, -1.0f - err_corr, …
12 opengl  textures  macos  sky 

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