在游戏地图问题上浏览头像:隐藏在磁贴和点击动画中的头像

时间:2019-10-12 21:13:19

标签: unity3d navigation avatar navmesh

我目前正在Unity(2018.4)中从事塔防游戏的工作。我对这个软件和C#非常陌生。现在我有一个化身,可以通过NavMesh平面在游戏屏幕上移动。

下面我的图片中的橙色框显示了透明平面所在的位置。我的游戏地图(棕色和绿色)由纹理图块组成。

enter image description here

enter image description here

我的头像是您在屏幕上看到的灰色东西。我使用NavMeshAgent和一些脚本根据鼠标在游戏地图上的点击位置来移动头像。

下面是指向我的化身运动视频的链接。

https://forum.unity.com/threads/navigating-avatar-around-game-map-issues-avatar-hidden-inside-tiles-click-animation.759737/

我正试图为以下两个问题寻求帮助。

1)当我将虚拟形象移到更高的位置(即更高的瓷砖堆)时,他消失在瓷砖内(请参阅gif)。我希望头像可以站在图块的顶部或旁边的较低级别。

2)当我在游戏地图中单击一个图块以指示我的化身移动到那里时,我需要一些点击位置的指示或动画。 (即,当我单击鼠标时箭头或圆圈)。

对此将提供任何帮助。

1 个答案:

答案 0 :(得分:0)

在#1上:

确保您的图块GameObjects具有碰撞器。将化身的图层设置为“忽略Raycast”。然后从与化身相同的x和z坐标的点调用Physics.RayCast,但在最高点上方的Y坐标处,可能会到达图块。在通话中设置遮罩,以使“忽略射线广播”层上的GameObjects不会产生匹配。 RayCast将返回一个坐标,您可以从该坐标中检索Y值并将其用于化身在图块上的位置。有关呼叫Raycast的更多信息,请在此处-https://docs.unity3d.com/ScriptReference/Physics.Raycast.html

在#2上:

我不认为您不应该问两个问题,所以我故意不回答第二个问题。建议您编辑问题以删除问题2。然后只问一个关于堆栈溢出的单独问题。这是一种更好的信息结构方式,以便除您之外的其他人可以从问题的答案中学习。我说的很友好。