我一直在开发一个无尽的跑步游戏,我希望它尝试让环境像地铁表面一样随机弯曲地平线。我从商店下载了这个地平线弯曲资产,效果很好。在资产中,我有一个名为的方法ApplyCurvature(float val)
,它将它应用到场景中并弯曲所需的量(现在它只向左弯曲ApplyCurvature(5f);
)。
我希望它随机改变曲率,如左、中或右。我确实尝试了 Random 方法,只是为了确保我可以为游戏中的每一帧应用曲率,但这不是我想要的。我考虑过使用统一脚本给出的曲线,但我不知道如何应用它们。谁可以帮我这个事?我是 unity3d 的新手,所以如何使用曲线通过我下载的资产应用效果。帮助将不胜感激。
using Battlehub.HorizonBending; //the asset package import
private float hb;
void Update ()
{
//HB.ApplyCurvature(5);
if (playerTransform.position.z - safeZone > (spawnZ - amtOfTilesOnScreen * tileLength))
{
if (activeTiles.Count < (NumberOfTilesThatFitOnScreen + 1))
{
var spawnedTile = SpawnTileAtFront();
activeTiles.Add(spawnedTile);
}
else
{
var movedTile = activeTiles[0];
MoveTileToTheFront(movedTile);
activeTiles.RemoveAt(0);
activeTiles.Add(movedTile);
//HB.ApplyCurvature(5);
hb = Random.Range(-5, 5); //Randomly bend road left and right
HB.ApplyCurvature(hb);
}
}
}
上面的代码是我尝试随机更新左右弯曲量的代码。