texture offset causes stretching
Problem:
This is my texture: 
When I use the offset parameter in the material under the texture, I get a weird stretched look like this: 
Shader is the default unlit unity shader:
Shader "Unlit/Minimap"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
UNITY_FOG_COORDS(1)
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
v2f vert (appdata v)
{
v2f o;
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
// apply fog
UNITY_APPLY_FOG(i.fogCoord, col);
return col;
}
ENDCG
}
}
}
Question: How do I use stretching in a shader? I thought using the TRANSFORM_TEX macro should prevent this?
no-offset.png
(56.4 kB)
offset.png
(35.5 kB)
Comment
Answer by Syndias · Oct 19, 2015 at 07:37 AM
Of course...
I was searching for an answer for about a full day before posting it here. And 2 minutes later I came up with the answer...
The wrapMode of the Texture2D should be set to TextureWrapMode.Repeat.
I'll let this question here, in case someone else has the same dumb issue.
Answer by hahahasky · May 27, 2020 at 02:53 AM
thank you so much!
class-textureimporter.png
(53.6 kB)
Your answer