我是团结3D的新手 我想创建一个建筑,然后用户可以在运行时添加新功能。
我需要的是一个带有文件夹中可用项目的GUI。然后,当按下GUI中的项目时,您可以创建项目的实例。
将鼠标悬停在建筑物上,可将物品放置在特定位置。例如,用户可能不会在门上放置门。一旦用户悬停在适当的位置,他就可以释放并放置纹理或家具。
我怎样才能实现这一目标? 请帮忙。谢谢你的进步
答案 0 :(得分:2)
创建一个BuildingBluprint或BuildingLayout类,其中包含建筑物可以包含的所有项目的列表以及允许它们的可能位置和旋转,
然后创建一个构建实例,其中包含有关所包含项目和位置的信息,允许用户实例化新项目,每次用户移动项目时,请检查建筑物蓝图类,以获取该项目允许的最近位置。然后捕捉到那个位置
您还可以将项目分配给项目,例如FLOOR_ITEMS,DOORS,WALL_DECORATION 所以你不必总是存储所有可能的位置,因为并不总是可以为所有项目定义定义位置,这些分配的catagorys可以告诉可能的位置,或者可以指定条件来检查是否有效,
EG-
如果我有一个花盆,我将为它分配一个FLOOR_ITEMS类别,因为它必须放在地上。要检查用户的放置是否有效,我可以将其与建筑物中所有楼层的楼层高度和楼层面积边界进行比较,
我也可以使用相同的代码来检查所有楼层项目,
同样,我可以为WALL_ITEMS编写代码,
对于只能放置在某些固定位置的主题,我可以直接指定可能的位置列表