纳金网

标题: 背景通过UV坐标偏移滚动 [打印本页]

作者: may    时间: 2016-7-28 21:47
标题: 背景通过UV坐标偏移滚动
有一些朋友要做跑酷游戏,而背景是一直在动的,如果背景是重复出现的话,一般是用两张甚至多张背景来做拼接,但这样就对坐标要控制得极其精准才不会出现裂缝或者重叠,这里提供一种移动UV坐标的方法来实现背景无缝重复出现的方法,代码如下:
  1. private Renderer _Renderer;
  2. private const string TEX_OFFSET_PROPERTY = "_MainTex";
  3. private float _BackgroundSpeed = 0.1f;
  4. private Vector2 _BackgroundOffset = Vector2.zero;

  5. private void UpdateBackground() {
  6.         float y = Mathf.Repeat( Time.time * _BackgroundSpeed, 1f );
  7.         _BackgroundOffset.x = 0f;
  8.         _BackgroundOffset.y = y;
  9.         _Renderer.sharedMaterial.SetTextureOffset( TEX_OFFSET_PROPERTY, _BackgroundOffset );
  10.     }
复制代码
  如代码所示,这种适用于竖版游戏,就是UV变动是在Y轴上的,如果要横版,改X轴即可





欢迎光临 纳金网 (http://c-www.narkii.com/club/) Powered by Discuz! X2.5