我有一个城市的3D模型作为文件夹。该文件夹包含.obj文件,材质和纹理。
我尝试通过在路上行走来创建虚拟旅游。我将相机放在街道上。我可以通过点击上下键来前进和后退。它通过单击左右键来旋转trun和left。我可以成功处理按键。
如果用户按向上或向下键,我只通过更新transfrom更改z值。翻译数据:
float translation = Input.GetAxis("Vertical") * speed;
transform.Translate(0, 0, translation);
但我的相机在黑线下,我无法正常看到这座城市。我怎样才能避免走线(道路)?做固体物体能解决我的问题吗?
答案 0 :(得分:1)
您可以采取一些方法。我建议你在路上添加一个mesh collider,然后从你对象的位置做一个raycast,向下走。它看起来像是:
RaycastHit hit;
float height = 1.0f;
if(Physics.Raycast(transform.positon, -Vector3.up, out hit))
{
transform.position = Vector3(transform.position.x, hit.point.y + height, transform.position.z);
}