C# Unity - 防止玩家站在某个地形纹理上
C# Unity - Preventing The Player From Standing on a Certain Terrain Texture
我想知道如何防止玩家在Unity地形上的某个纹理上行走。我已经制作了检测玩家站在哪个纹理上的脚本。对于运动,我使用刚体速度,所以我没有对撞机的问题。提前致谢:)
我会这样做:
首先,创建全局变量lastPos:
Vector3 lastPos;
然后在开始时将其设置为玩家当前位置:
void Start() {
lastPos = player.gameObject.transform.position;
}
然后在Update中,将lastPos变量设置为玩家当前位置。接下来,使用 if 语句检查玩家是否在无效纹理上。如果玩家在无效纹理上,将其位置设置回 lastPos:
void Update() {
if (playerOnInvalidTexture) {
player.gameObject.transform.position = lastPos;
}
lastPos = player.gameObject.transform.position;
}
本质上,当玩家处于无效纹理上时,这会将玩家置于有效位置。
我想知道如何防止玩家在Unity地形上的某个纹理上行走。我已经制作了检测玩家站在哪个纹理上的脚本。对于运动,我使用刚体速度,所以我没有对撞机的问题。提前致谢:)
我会这样做:
首先,创建全局变量lastPos:
Vector3 lastPos;
然后在开始时将其设置为玩家当前位置:
void Start() {
lastPos = player.gameObject.transform.position;
}
然后在Update中,将lastPos变量设置为玩家当前位置。接下来,使用 if 语句检查玩家是否在无效纹理上。如果玩家在无效纹理上,将其位置设置回 lastPos:
void Update() {
if (playerOnInvalidTexture) {
player.gameObject.transform.position = lastPos;
}
lastPos = player.gameObject.transform.position;
}
本质上,当玩家处于无效纹理上时,这会将玩家置于有效位置。