我正在做一个无尽的跳投。我试图让BG根据玩家身高向下滚动。
我见过以特定速度移动代码的代码:
public float speed = .5f;
void Updated(){
Vector2 offset = new Vector2(0, Time.deltatime * speed);
GetComponent<Renderer>().material.mainTextureOffset = offset;
}
我想用播放器的高度移动它。
public float PlayerHeight;
所以现在我需要设置BG的高度。我无法弄清楚如何做这个部分。
Transform background;
public float backgroundHeightY;
public GameObject BackGround;
从这里开始,我被卡住了。我不希望它随着相机移动,而是根据播放器的高度以一定速率移动。任何帮助都会很棒。
答案 0 :(得分:0)
听起来你的背景相对于相机有一个固定的位置,但是你想要背景滚动&#34;反对&#34;玩家在上下移动时会产生视差效应吗?
public Transform player;
public float multiplier = 0.1f; //Tweak this
void Update(){
Vector2 offset = new Vector2(0, player.position.y * multiplier);
GetComponent<Renderer>().material.mainTextureOffset = offset;
}
答案 1 :(得分:0)
我的工作状况很好,但不会下降。以下是它的工作方式。我调整了backgroundModifier以适应我需要的时间。
//Changes the BG position
changeAmount = (playerHeightY - currentCameraHeight)/backgroundModifier;
Vector3 temp = new Vector3(0, changeAmount, 0);
BackGround.transform.position += temp;
任何人都知道如何让堕落工作。我觉得我正在努力使它变得更加困难。
答案 2 :(得分:0)
以下是我最终如何做到这一点。我实际上是将相机从正交切换到透视。布局需要进行大量调整,但最终效果非常好。所以上面的代码我删除了。