Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not generate scene #13

Closed
astaikos316 opened this issue Jan 4, 2024 · 8 comments
Closed

Could not generate scene #13

astaikos316 opened this issue Jan 4, 2024 · 8 comments

Comments

@astaikos316
Copy link

When trying to run a sample on my M2 based Mac, it appears everything runs through however at the very end, the Unity window closes and I get a "Could not generate scene from a ......" message. An overhead PNG does open however. I do not see anywhere a scene I can then open in Unity. Am I missing something?

@YueYANG1996
Copy link
Collaborator

Did you encounter the same error every time? Could rerunning the code resolve the issue?

@astaikos316
Copy link
Author

astaikos316 commented Jan 5, 2024 via email

@YueYANG1996
Copy link
Collaborator

Did you get a scene json file? If so, could you send me the json? And also, could you copy all the printed messages in your terminal?

@Jihyun0510
Copy link

I am encountering the same problem. Did you figure out the solution?

@astaikos316
Copy link
Author

astaikos316 commented Jan 8, 2024

Did you get a scene json file? If so, could you send me the json? And also, could you copy all the printed messages in your terminal?

@YueYANG1996 I did not get a scene JSON file from what I can see. Here is a copy of the terminal output:
(holodeck) aristidesstaikos@Aristidess-Mac-mini-54648 Holodeck % python main.py --query "a living room with a fireplace" --openai_api_key sk-XXXX
Generating from an empty scene.
User: You are an experienced room designer. Please assist me in crafting a floor plan. Each room is a rectangle. You need to define the four coordinates and specify an appropriate design scheme, including each room's color, material, and texture.
Assume the wall thickness is zero. Please ensure that all rooms are connected, not overlapped, and do not contain each other.
Note: the units for the coordinates are meters.
For example:
living room | maple hardwood, matte | light grey drywall, smooth | [(0, 0), (0, 8), (5, 8), (5, 0)]
kitchen | white hex tile, glossy | light grey drywall, smooth | [(5, 0), (5, 5), (8, 5), (8, 0)]

Here are some guidelines for you:

  1. A room's size range (length or width) is 3m to 8m. The maximum area of a room is 48 m$^2$. Please provide a floor plan within this range and ensure the room is not too small or too large.
  2. It is okay to have one room in the floor plan if you think it is reasonable.
  3. The room name should be unique.

Now, I need a design for a living room with a fireplace.
Additional requirements: N/A.
Your response should be direct and without additional text at the beginning or end.

AI: Here is the floor plan:
living room | dark walnut parquet, matte finish | warm beige textured wallpaper | [(0, 0), (0, 8), (6, 8), (6, 0)]

  • The fireplace will be situated on the 6m wall, centered at coordinate (6, 4). It will feature a natural stone surround and a wood mantel that matches the dark walnut parquet.
    AI: The floor plan is valid. (Only one room)

User: I am now designing a living room with a fireplace. Please help me decide the wall height in meters.
Answer with a number, for example, 3.0. Do not add additional text at the beginning or in the end.

AI: The wall height is 2.7

User: I need assistance in designing the connections between rooms. The connections could be of three types: doorframe (no door installed), doorway (with a door), or open (no wall separating rooms). The sizes available for doorframes and doorways are single (1m wide) and double (2m wide).

Ensure that the door style complements the design of the room. The output format should be: room 1 | room 2 | connection type | size | door style. For example:
exterior | living room | doorway | double | dark brown metal door
living room | kitchen | open | N/A | N/A
living room | bedroom | doorway | single | wooden door with white frames

The design under consideration is a living room with a fireplace, which includes these rooms: living room. The length, width and height of each room in meters are:
living room: 6.0 m x 8.0 m x 2.7 m

Certain pairs of rooms share a wall: (exterior, living room). There must be a door to the exterior.
Adhere to these additional requirements: N/A.
Provide your response succinctly, without additional text at the beginning or end.

AI: Here is the doorway plan:
exterior | living room | doorway | single | wooden door with glass panels
There are multiple ways between exterior and living room

User: Guide me in designing the windows for each room. The window types are: fixed, hung, and slider.
The available sizes (width x height in cm) are:
fixed: (92, 120), (150, 92), (150, 120), (150, 180), (240, 120), (240, 180)
hung: (87, 160), (96, 91), (120, 160), (130, 67), (130, 87), (130, 130)
slider: (91, 92), (120, 61), (120, 91), (120, 120), (150, 92), (150, 120)

Your task is to determine the appropriate type, size, and quantity of windows for each room, bearing in mind the room's design, dimensions, and function.

Please format your suggestions as follows: room | wall direction | window type | size | quantity | window base height (cm from floor). For example:
living room | west | fixed | (130, 130) | 1 | 50

I am now designing a living room with a fireplace. The wall height is 270 cm. The walls available for window installation (direction, width in cm) in each room are:
living room: north, 600 cm; east, 800 cm; south, 600 cm;

Please note: It is not mandatory to install windows on every available wall. Within the same room, all windows must be the same type and size.
Also, adhere to these additional requirements: Only one wall of each room should have windows.

Provide a concise response, omitting any additional text at the beginning or end.

AI: Here is the window plan:
living room | east | fixed | (240, 180) | 3 | 90

AI: Selecting objects for living room...

AI: The floor capacity of living room is 8.183855142270113m^2, which is less than 70% of the total floor capacity 19.200000000000003m^2.

AI: Here is the object selection plan:
{'living room': {'sofa': {'description': 'comfortable l-shaped sofa with plush cushions, now larger', 'location': 'floor', 'size': [350, 200, 90], 'quantity': 1, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'throw blanket', 'quantity': 2, 'variance_type': 'varied'}, {'object_name': 'decorative pillow', 'quantity': 6, 'variance_type': 'varied'}, {'object_name': 'remote control', 'quantity': 2, 'variance_type': 'same'}], 'object_name': 'sofa'}, 'armchair': {'description': 'matching armchair with soft fabric, additional piece added', 'location': 'floor', 'size': [110, 110, 90], 'quantity': 3, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'knitting basket', 'quantity': 3, 'variance_type': 'same'}], 'object_name': 'armchair'}, 'coffee table': {'description': 'wooden coffee table with a lower shelf, now larger', 'location': 'floor', 'size': [130, 90, 45], 'quantity': 2, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'vase with flowers', 'quantity': 2, 'variance_type': 'same'}, {'object_name': 'decorative tray', 'quantity': 2, 'variance_type': 'same'}, {'object_name': 'candle holder', 'quantity': 4, 'variance_type': 'varied'}, {'object_name': 'coasters', 'quantity': 2, 'variance_type': 'same'}, {'object_name': 'small statuette', 'quantity': 2, 'variance_type': 'varied'}], 'object_name': 'coffee table'}, 'bookshelf': {'description': 'tall wooden bookshelf with multiple compartments, additional unit added', 'location': 'floor', 'size': [110, 40, 210], 'quantity': 2, 'variance_type': 'varied', 'objects_on_top': [{'object_name': 'books', 'quantity': 40, 'variance_type': 'varied'}, {'object_name': 'small sculpture', 'quantity': 4, 'variance_type': 'varied'}, {'object_name': 'picture frame', 'quantity': 4, 'variance_type': 'varied'}, {'object_name': 'decorative box', 'quantity': 2, 'variance_type': 'varied'}], 'object_name': 'bookshelf'}, 'sideboard': {'description': 'modern sideboard for additional storage, now wider', 'location': 'floor', 'size': [180, 50, 85], 'quantity': 2, 'variance_type': 'varied', 'objects_on_top': [{'object_name': 'decorative bowl', 'quantity': 2, 'variance_type': 'same'}, {'object_name': 'table lamp', 'quantity': 4, 'variance_type': 'same'}, {'object_name': 'stack of magazines', 'quantity': 2, 'variance_type': 'same'}, {'object_name': 'ornamental plant', 'quantity': 2, 'variance_type': 'varied'}], 'object_name': 'sideboard'}, 'wall art': {'description': 'framed landscape and abstract wall art, more pieces added', 'location': 'wall', 'size': [70, 90, 3], 'quantity': 5, 'variance_type': 'varied', 'objects_on_top': [], 'object_name': 'wall art'}, 'mirror': {'description': 'large decorative mirror to make the space appear larger', 'location': 'wall', 'size': [120, 120, 5], 'quantity': 2, 'variance_type': 'same', 'objects_on_top': [], 'object_name': 'mirror'}, 'entertainment_center': {'description': 'large wooden entertainment center for multimedia storage and display', 'location': 'floor', 'size': [200, 50, 150], 'quantity': 1, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'television', 'quantity': 1, 'variance_type': 'same'}, {'object_name': 'gaming console', 'quantity': 1, 'variance_type': 'same'}, {'object_name': 'soundbar', 'quantity': 1, 'variance_type': 'same'}], 'object_name': 'entertainment_center'}, 'floor lamp': {'description': 'stylish floor lamp for additional lighting', 'location': 'floor', 'size': [40, 40, 160], 'quantity': 3, 'variance_type': 'same', 'objects_on_top': [], 'object_name': 'floor lamp'}, 'plant_stands': {'description': 'a set of tiered plant stands for indoor greenery', 'location': 'floor', 'size': [40, 40, 90], 'quantity': 2, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'potted plant', 'quantity': 2, 'variance_type': 'varied'}], 'object_name': 'plant_stands'}}}
plan for living room: High-Level Design Strategy:
To optimize the spaciousness and functionality of the living room within the given dimensions of 600 cm x 800 cm, I will begin by placing larger and primary furniture items, such as the entertainment center and sofa, along the edges to maximize central space. Following this, I will arrange complementary furniture like coffee tables and armchairs in relation to these anchor pieces, ensuring a comfortable and sociable layout. Next, I will add bookshelves and sideboards against walls for storage and display purposes. Finally, I will place floor lamps and plant stands to complement the furniture arrangement and add aesthetic appeal, ensuring they do not obstruct movement or lines of sight.

Constraints for each object in the desired format:

entertainment_center-0 | edge

sofa-0 | edge | in front of, entertainment_center-0 | far, entertainment_center-0 | face to, entertainment_center-0

coffee table-0 | middle | near, sofa-0 | in front of, sofa-0 | center aligned, sofa-0

armchair-0 | edge | near, coffee table-0 | center aligned, coffee table-0 | face to, coffee table-0

armchair-1 | edge | left of, armchair-0 | near, coffee table-0 | face to, coffee table-0

armchair-2 | edge | right of, armchair-0 | near, coffee table-0 | face to, coffee table-0

coffee table-1 | middle | near, armchair-1 | in front of, armchair-2

bookshelf-0 | edge | far, entertainment_center-0

bookshelf-1 | edge | far, entertainment_center-0 | center aligned, bookshelf-0

sideboard-0 | edge | far, sofa-0 | left of, sofa-0

sideboard-1 | edge | far, sofa-0 | right of, sofa-0

floor lamp-0 | middle | near, armchair-0 | side of, armchair-0

floor lamp-1 | middle | near, armchair-1 | side of, armchair-1

floor lamp-2 | middle | near, armchair-2 | side of, armchair-2

plant_stands-0 | edge | near, bookshelf-0 | side of, bookshelf-0

plant_stands-1 | edge | near, bookshelf-1 | side of, bookshelf-1
WARNING:py.warnings:/Users/aristidesstaikos/anaconda3/envs/holodeck/lib/python3.9/site-packages/scipy/interpolate/_interpolate.py:701: RuntimeWarning: divide by zero encountered in divide
slope = (y_hi - y_lo) / (x_hi - x_lo)[:, None]

WARNING:py.warnings:/Users/aristidesstaikos/anaconda3/envs/holodeck/lib/python3.9/site-packages/scipy/interpolate/_interpolate.py:704: RuntimeWarning: invalid value encountered in multiply
y_new = slope*(x_new - x_lo)[:, None] + y_lo

WARNING:py.warnings:/Users/aristidesstaikos/anaconda3/envs/holodeck/lib/python3.9/site-packages/scipy/interpolate/_interpolate.py:701: RuntimeWarning: invalid value encountered in divide
slope = (y_hi - y_lo) / (x_hi - x_lo)[:, None]

Number of solutions found: 30

wall object constraint plan for living room:
wall art-0 | above, sofa-0 | 160
wall art-1 | above, sofa-0 | 160
wall art-2 | above, armchair-0 | 160
wall art-3 | above, armchair-1 | 160
wall art-4 | above, armchair-2 | 160
mirror-0 | above, sideboard-0 | 140
mirror-1 | above, sideboard-1 | 140
switch-0 | N/A | 120
Time limit reached.
Time taken: 5.00439977645874
Selecting 1 television for entertainment_center-0 (living room)
Selecting 2 throw blanket for sofa-0 (living room)
Selecting 2 vase with flowers for coffee table-0 (living room)
Selecting 3 knitting basket for armchair-0 (living room)
Selecting 5 decorative pillow for sofa-0 (living room)
Selecting 2 decorative tray for coffee table-0 (living room)
Selecting 1 gaming console for entertainment_center-0 (living room)
Selecting 2 remote control for sofa-0 (living room)
Selecting 4 candle holder for coffee table-0 (living room)
Selecting 1 soundbar for entertainment_center-0 (living room)
Selecting 2 coasters for coffee table-0 (living room)
Selecting 2 small statuette for coffee table-0 (living room)
Warning: coffee table-0 (living room) is overfilled.
Selecting 3 knitting basket for armchair-1 (living room)
Selecting 3 knitting basket for armchair-2 (living room)
Selecting 5 books for bookshelf-0 (living room)
Selecting 4 small sculpture for bookshelf-0 (living room)
Selecting 4 picture frame for bookshelf-0 (living room)
Selecting 5 books for bookshelf-1 (living room)
Selecting 4 small sculpture for bookshelf-1 (living room)
Warning: bookshelf-0 (living room) is overfilled.
Selecting 2 decorative box for bookshelf-0 (living room)
Warning: bookshelf-0 (living room) is overfilled.
Selecting 4 picture frame for bookshelf-1 (living room)
Selecting 2 decorative bowl for sideboard-0 (living room)
Selecting 4 table lamp for sideboard-0 (living room)
Selecting 2 decorative box for bookshelf-1 (living room)
Selecting 2 decorative bowl for sideboard-1 (living room)
Warning: sideboard-0 (living room) is overfilled.
Selecting 2 stack of magazines for sideboard-0 (living room)
Warning: bookshelf-1 (living room) is overfilled.
Selecting 4 table lamp for sideboard-1 (living room)
Warning: sideboard-0 (living room) is overfilled.
Selecting 2 ornamental plant for sideboard-0 (living room)
Selecting 2 stack of magazines for sideboard-1 (living room)
Selecting 2 ornamental plant for sideboard-1 (living room)
Warning: sideboard-0 (living room) is overfilled.
Selecting 2 vase with flowers for coffee table-1 (living room)
Warning: sideboard-1 (living room) is overfilled.
Selecting 2 decorative tray for coffee table-1 (living room)
Selecting 4 candle holder for coffee table-1 (living room)
Selecting 2 coasters for coffee table-1 (living room)
Selecting 2 small statuette for coffee table-1 (living room)
Selecting 2 potted plant for plant_stands-0 (living room)
Warning: coffee table-1 (living room) is overfilled.
Selecting 2 potted plant for plant_stands-1 (living room)
Only one room in the scene. Assigning the room to Procedural0.
Could not generate scene from a living room with a fireplace.

@YueYANG1996
Copy link
Collaborator

It seems to me the code is running without any mistakes, and the JSON file should be saved. Could you check the folder data/scenes to see whether there is a subfolder named a_living_room_with_a_fireplace and send the JSON file within it to me?

Also, you revealed your open_ai_key in your comment. Please revoke it!

@astaikos316
Copy link
Author

It seems to me the code is running without any mistakes, and the JSON file should be saved. Could you check the folder data/scenes to see whether there is a subfolder named a_living_room_with_a_fireplace and send the JSON file within it to me?

Also, you revealed your open_ai_key in your comment. Please revoke it!

I already did after I realized my mistake. Thank you. Attached is the json file I was able to find.
a_living_room_with_a_fireplace.json

@YueYANG1996
Copy link
Collaborator

I can load your JSON file into Unity, and everything looks good.
Screenshot 2024-01-08 at 4 34 34 PM

Could you follow the instructions here to visualize it by yourself?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants