我正在尝试构建一个游戏,它使用了著名游戏“模拟人生”中的概念。现在我正在构建一个3d角色的人工智能,我需要玩家能够告诉角色应该去哪里或做什么。我想知道创建一个带有动画的弹出菜单的最好方法,类似于显示一些选项,这样当玩家点击3d角色时,他可以选择他想做的任何地方。我知道这必须使用放置在播放器上方的画布下的UI元素。然而,我不能在一个场景中有两个画布,我不知道如何将它们固定在角色上,使其与他一起移动。提前谢谢。

在这里你可以明白我的意思,这是模拟人生游戏
发布于 2019-03-23 14:30:54
这里有两种主要的方法:
1)使用世界空间UI。
2)使用屏幕空间UI,并使用worldspace到屏幕空间变换来实时定位它。
当您接近这两个主题时,它们都会大大扩展,因此不可能在这里给出更多细节。
我之前玩过一些模拟人生,如果你正在追求和他们一样的风格,我建议你使用一个世界空间的UI系统。
发布于 2019-03-23 16:12:57
您可以拥有任意数量的画布。要控制画布的级别(哪个在顶部),您可以在所选画布的" Canvas“组件中使用"Order in Layer”参数。数字越低,画布的交互性和可见性就越高。
您可以创建一个canvas ant,将其设置为您的角色的父对象。由于画布会更小,你应该使用这些参数来获得你想要的分辨率(不要过度操作):

若要使canvas始终面对摄影机,应使用以下命令为Canvas指定一个新脚本:
canvas.transform.LookAt(camera.transform);要控制画布的可见性,您可以使用以下代码行:
canvas.enabled = bool;其中,当您想要隐藏它时,bool为false;当您想要显示它时,bool为true。
在“模拟人生”的可见性与动画,你也可以做,但我会离开它后,我做了所有的功能。
https://stackoverflow.com/questions/55305077
复制相似问题