1

I am new to unity 3D I want to create a building, then the user can add new features at runtime.

What I need is a GUI with the available items from a folder. Then when pressing an item in the GUI, you can create an instance of the item.

Hovering over the building, the item may be placed in specific locations. for instance, user may not place a door on the roof. Once user hovering over an appropriate location, he is allowed to release and place the texture or furniture.

How can I achieve that? Please Help. Thanks Advance

4

1 回答 1

2

创建一个 BuildingBluprint 或 BuildingLayout 类,其中包含建筑物可以包含的所有项目的列表以及它们被允许拥有的可能位置和旋转,

然后创建一个建筑实例,其中包含有关所包含项目和位置的信息,允许用户实例化新项目,并且每次用户移动项目时检查建筑蓝图类以获取项目允许拥有的最近位置。然后捕捉到那个位置

您还可以将类别分配给项目,例如 FLOOR_ITEMS、DOORS、WALL_DECORATION,这样您就不必总是存储所有可能的位置,因为并非总是可以为所有项目定义明确的位置,这些分配的类别可以告诉可能的位置,或者可以代替分配条件来检查位置是否有效,


例如 -如果我有一个花盆,我将给它分配一个 FLOOR_ITEMS 类别,因为它必须放在地上。要检查用户的放置是否有效,我可以将其与建筑物中所有楼层的楼层高度和建筑面积界限进行比较,我也可以使用相同的代码来检查所有楼层项目,,

同样,我可以为 WALL_ITEMS 编写代码,

对于只能放置在某些固定位置的项目,我可以直接指定可能位置的列表

于 2013-08-11T07:22:58.990 回答