2DスプライトのMipマップにより、上の黒い線が発生します。どうしてこれなの?


8

Unityは初めてです。私はそれを試し、コード優先のアプローチにFutileを使用していますが、Unityシステムを使用してテクスチャをインポートしています。

私が抱えている問題は、ミップマップを使用して、大きなスプライトをギザギザのエッジなしで小さいサイズに縮小すると、スプライトの上に黒い線のアーティファクトが発生することです。

見にくい

少し見にくいですが、そこにあります。解像度を下げると、はっきりと見えます。

見やすい

これらは私のテクスチャ設定です:

設定

私の質問は、なぜこれらの黒い線がここにあるのですか?私が犯した間違いですか?それは単なる一般的な副作用ですか?どうすればこれらを減らすことができますか?また、これが間違ったアプローチである場合、ゲームでスムーズスプライトを使用して、スムーズにスケールアップできるようにする方法を教えてください。

ありがとう!


1
あなたはアトラスを使用していますね?
ハイゼンバグ2013

回答:


10

これらの行が表示される理由は多数あります。私はここでより詳細な回答を書きましたが、最終的には次のとおりです。

アトラスとミップマッピングを同時に行わないでください。

2Dの場合、一般に、ミップマッピングを実行する必要はありません。これは主に、テクスチャがレンダリングされるサイズがわからない3Dで役立ちますが、通常2Dでは一般的ではありません。

積極的にダウンスケールするテクスチャがある場合は、アトラスに含めないでください。

また、異方性反射をオフにすることもお勧めします。これは、非常に鋭い角度から大きなテクスチャを見ているときに、より良い結果が得られることを意味します。これは、ゲームが2Dの場合には起こりません。


実際には適切なパディングでアトラスとミップマップを一緒に使用できるはずですが、間違っていますか?+1 btw
ハイゼンバグ

2
@Heisenbugはパディングを追加することで、問題をより低いミップレベルに移動するだけです。ミップマップアトラスが必要な場合は、手動で作成し、最小のオブジェクトが1x1ピクセルになるレベルまで作成することを検討してください。しかし、2Dでは通常、テクスチャをダウンスケールしてミップマッピングを必要とするほど十分ではないため、アトラスとミップマッピングを混在させないことをお勧めします。
パンダパジャマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.