两种颜色背景
我在游戏中看到了一个有趣的背景,我想知道它是如何制作的以及如何将它实现到我自己的应用程序中。 两种颜色背景
在这里,我们可以看到背景。顶部黄色,底部蓝色。这不是一个简单的图像,因为在游戏过程中,颜色会发生变化。
另外,我怎样才能使一个立方体看起来像第一个从底部褪色?
在此先感谢。
使用简单的2x1大小的纹理,可以达到类似的效果。
将一幅画布(在Camera world
中,离您的相机很远)与原始图像拍摄整个屏幕。如果你想有更多颜色的渐变,改变创建纹理的高度,改变一点点的SetColor`功能
public UnityEngine.UI.RawImage img;
private Texture2D backgroundTexture ;
void Awake()
{
backgroundTexture = new Texture2D(1, 2);
backgroundTexture.wrapMode = TextureWrapMode.Clamp;
backgroundTexture.filterMode = FilterMode.Bilinear;
SetColor(Color.black, Color.white) ;
}
public void SetColor(Color color1, Color color2)
{
backgroundTexture.SetPixels(new Color[] { color1, color2 });
backgroundTexture.Apply();
img.texture = backgroundTexture;
}
:
然后,创建一个脚本,用下面的代码。
否则,我发现这个Git仓库有cusztom空中包厢渐变着色器:
https://github.com/keijiro/UnitySkyboxShaders
支付解决方案,该资产似乎是你想要什么:https://www.assetstore.unity3d.com/en/#!/content/37726
你在背景中看到的不仅仅是一个纹理。它是纹理+体积着色器的组合。如果你看看最底层的背景,你会看到它如何对它周围的对象做出反应。 – Programmer
正是我需要的。 –
一种方式来实现梯度背景是通过使用天空盒。我也可以为Marvelous Techniques(MT)担保,对此Hellium在他们的回答中也提供了一个链接。它的确需要花钱,当然,在这个过程中你不会学到很多东西。但是,如果你的主要目标是只有你在图片中看到的东西,那么MT应该让你在那里。
并回答你的第二个问题,着色器。有关于创建梯度着色器的a recent blog post非常像您提供的图片中看到的那个。博客文章将指导您完成着色器的创建,并在帖子末尾提供着色器的完整代码。
着色器可能 – Fiffe
https://purplelilgirl.wordpress.com/2015/01/30/how-to-create-gradient-backgrounds-in-unity/ –
@Fiffe是正确的。这是一个体积着色器。实际上,这是一个需要阅读少量书籍才能正确使用的主题。如果您不知道Unity的着色语言,请参阅[this](https://www.assetstore.unity3d.com/en/#!/content/56245)插件。 – Programmer