gpt4 book ai didi

c# - 通过纹理偏移滚动 2D/3D 背景

转载 作者:行者123 更新时间:2023-11-30 23:26:13 25 4
gpt4 key购买 nike

我一直在尝试在 Unity 中使用四边形来显示纹理来制作无限滚动的 2D 背景。我的想法是根据玩家的位置改变四边形的偏移量。由于某种原因,当我更改偏移量时,我的图像无法正确重复,一旦达到 2 的偏移量就完全消失。

An image of 3 different x offset values on my texture

如果有人知道如何解决这个问题,如果您能回复我,我们将不胜感激。

enter image description here

最佳答案

选择原始纹理而不是游戏对象。

1。将纹理类型更改为纹理

2。将环绕模式更改为重复

3。单击应用。完成!

enter image description here

最新版本的 Unity 纹理菜单已更改。见下图:

enter image description here

现在从脚本动画纹理,

1。创建一个 Quad GameObject -> 3D Object ->Quad。将四边形缩放到您想要的大小

2。创建一个光。 GameObject->Light->Directional Light。您可以根据自己的喜好调整光强度。

3。将您的纹理/ Sprite 拖到场景 View 中的四边形。

现在你的脚本:

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 中的PlaneQuad ---> 3D Object 菜单和上面的代码应该可以正常工作。

关于c# - 通过纹理偏移滚动 2D/3D 背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36947732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com