我一直在尝试使用四边形在Unity中制作无限滚动的2D背景以显示纹理。我的想法是根据玩家的位置改变四边形的偏移量。出于某种原因,当我更改偏移量时,我的图像不能正确重复,一旦达到偏移量2,就会完全消失。
An image of 3 different x offset values on my texture
如果有人知道如何解决这个问题,如果你能回复我,我们将不胜感激。
答案 0 :(得分:1)
选择原始纹理而不是GameOBject。
<强> 1 即可。将纹理类型更改为纹理。
<强> 2 即可。将换行模式更改为重复。
第3 即可。单击“应用”完成!
Textures的Unity菜单的最新版本已更改。见下图:
现在从脚本动画纹理
<强> 1 即可。创建四元组GameObject -> 3D Object ->Quad
。将Quad缩放到您想要的大小
<强> 2 即可。创造一盏灯。 GameObject->Light->Directional Light
。您可以将光强度调整为您喜欢的任何颜色。
第3 即可。将纹理/精灵拖动到场景视图中的四边形。
现在为您的脚本:
public GameObject quadGameObject;
private Renderer quadRenderer;
float scrollSpeed = 0.5f;
void Start()
{
quadRenderer = quadGameObject.GetComponent<Renderer>();
}
void Update()
{
Vector2 textureOffset = new Vector2(Time.time*scrollSpeed,0);
quadRenderer.material.mainTextureOffset = textureOffset;
}
对于2D,您还可以使用 GameObject ---&gt;中的 Plane 或 Quad 。 3D Object 菜单和上面的代码应该可以正常工作。