質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

HLSL

HLSLは、米マイクロソフト社によって開発された Direct3D APIで使われるプロプライエタリなシェーディング言語です。

Q&A

1回答

427閲覧

UVテクスチャを縮小したときに出る線を直したい

3U5P

総合スコア0

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

HLSL

HLSLは、米マイクロソフト社によって開発された Direct3D APIで使われるプロプライエタリなシェーディング言語です。

0グッド

0クリップ

投稿2022/05/13 11:16

実現したいこと

縮小したテクスチャを表示したい。

発生している問題・エラーメッセージ

テクスチャを縮小して表示させようとすると、画像の様によくわからない線が伸びてしまいます。

該当のソースコード・画面

HLSL

1fixed4 frag (v2f i) : SV_Target 2{ 3 float2 uv = i.uv * (1 / .5); 4 float4 col = tex2D(_MainTex, uv); 5 return col; 6}

イメージ説明

試したこと

Warp ModeをClampに設定しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

WrapModeがClampだからです。
…なんですが、WrapModeやClampについて調べましたでしょうか。

テクスチャ座標というのは、左下が0、右上が1になります。(逆かもしれないけど、まぁそれは置いといて)
つまり、テクスチャ座標が0より下、1より上というものは、テクスチャの外側を意味することになるので、ありえません。
では、実際にそのように指定した場合、どのような動作をすべきか、ということを指定するのがWrapModeです。

WrapModeがClamp、というのは、0より下であれば0に、1より上であれば1に補正するモードです。
つまり、UV値が1以上の座標は全て(UV値が1と扱われるので)同じ描画結果になります。
「線が伸びている」のではなく、「テクスチャの右(上)のドットが繰り返し描画されている」のです。

大抵、WrapModeがClampで扱うテクスチャは、外周を背景色で塗りつぶすのが通例です。

投稿2022/05/17 13:57

katsuko

総合スコア3469

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問