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

Features for CG artists to visualise beautiful IFC models in Blender #86

Open
Moult opened this issue Jan 21, 2024 · 11 comments
Open

Features for CG artists to visualise beautiful IFC models in Blender #86

Moult opened this issue Jan 21, 2024 · 11 comments

Comments

@Moult
Copy link

Moult commented Jan 21, 2024

Outline

The architecture, engineering, and construction industry creates 3D models of buildings. These models are generally quite poor and do not contain any textures, lighting, or high quality objects that are suitable for 3D rendering. They often hire artists to help create beautiful renders of their designs.

This project will build utility functions and workflows to easily get beautiful pictures of 3D models.

Details

3D artists typically do the following steps to make a 3D model look beautiful. They:

  1. Set camera angles with specific camera settings, with "clay" (e.g. all white colours) materials.
  2. Add lights and sun / sky settings.
  3. Add simple colours and textures.
  4. Remodel low quality geometry
  5. Add new objects (e.g. entourage) to decorate the scene, like trees, grass, people, extra furniture, walruses, shrimp, etc.
  6. Set common compositing and post processing rules

You will use the Blender Python API to set simple presets for most of these steps to allow less skilled artists to quickly setup renders. You will also setup a workflow to guide artists on how to organise their files relative to the IFC model and keep the IFC model separate so that when the IFC model is changed, the artists doesn't need to start from scratch or play spot the difference.

You do not need to be an expert in 3D modeling or CG visualisation or rendering. You will be taught what type of settings and options are appropriate for presets and the details of the workflow. However, you will be expected to automate that detail (every aspect of the Blender settings can be set using Python trivially).

You will also be expected to create a Blender interface to interact with the settings, e.g. a button to add camera, a button to set a preset sky, etc.

Expected Outcome

Note: scope is flexible and you may achieve less or more or different to the below:

  1. A graphical interface in Blender that relate to the 6 steps above
  2. Buttons to add cameras, set common camera aspect ratios and settings. Buttons to add common types of lights, set sun angles and sky settings with bundled HDRI textures.
  3. Buttons to add simple material presets.
  4. Buttons to mark an object to be replaced by another
  5. A few preset assets using Blender's built in asset tools to drag and drop in entourage.

Future Possibilities

Project Properties

Skills

  • Python (definitely required!)
  • Artistic sense (do you like 3D graphics? rendering?) If you have ever rendered a 3D scene before, this is the project for you!

Difficulty

Easy to Medium

Size

Medium to Long

Additional Information

@AnonymousCodes911
Copy link

Greetings, @Moult!

I am intrigued by this project, and I have always wanted to learn more about 3D modeling and rendering. I am proficient in Python and would love to be guided on what my first steps should be to dive deeper into this project and take me forward to my first Pull Request.

Thank you for your time and consideration

@Moult
Copy link
Author

Moult commented Feb 18, 2024

G'day @AnonymousCodes911 ! GSoC 2024 has not yet started and we don't know yet if the organisation is approved. If you're keen anyway a good starting point would be to fire up Blender and get familiar with doing basic rendering (perhaps the doughnut tutorial?) to get a feel of the CG workflow.

@Moult
Copy link
Author

Moult commented Feb 27, 2024

Hey @AnonymousCodes911 The organisation has been approved so now is an excellent time to make a start. The checklist is here: https://opencax.github.io/gsoc_checklist.html and you can reach out at https://osarch.org/chat

@keshavanarayan
Copy link

keshavanarayan commented Feb 27, 2024

Good day @Moult,

I'm proficient in 3d rendering and writing python scripts in other software. This seems like a nice way to get into blender and blenderBIM. I have been familiarising with ifcopenshell for a while and I think this is a good mix of my interests.

Do let me know if I can be of any help

Cheers,
Keshava Narayan

@Moult
Copy link
Author

Moult commented Feb 27, 2024

@keshavanarayan that's awesome! Have you looked at the GSoC checklist? The next step is to start familiarising yourself with the software (ifcopenshell/bbim add-on), and write a draft application. When you've got a few things put down on paper we can meet up for a 1-on-1 chat about your plans :)

@keshavanarayan
Copy link

Is there any deadline for the proposal @Moult?

@Moult
Copy link
Author

Moult commented Mar 2, 2024

https://developers.google.com/open-source/gsoc/timeline

The earlier you start on a draft and discuss it with us, the better :)

@chiragsingh1711
Copy link

Hey @Moult ,

I'm eager to contribute to the BRL-CAX project with my extensive experience in Blender and Python scripting, particularly in automating 3D modeling tasks. Having tackled similar challenges before, I understand the industry's need for enhancing 3D models with textures, lighting, and high-quality objects for rendering.

I'm confident that my skills align seamlessly with the outlined project, and I'm eager to contribute to the creation of utility functions and workflows that simplify the rendering process for less experienced artists.

Best regards,
Chirag Singh

@Moult
Copy link
Author

Moult commented Mar 8, 2024

@chiragsingh1711 g'day! That's fantastic, if you can start writing a draft proposal planning the necessary features, reach out on the chat and we can have a voice discussion about how to proceed :)

@RuoyuLi97
Copy link

Good day @Moult ,

I am passionate about this project. My name is Ruoyu Li and I am an incoming grad student of Information Systems at Northeastern University this fall. I am proficient in python and as a former architect, I am also experienced in 3d modeling, rendering and art sense of course. I am wondering where I should start and I hope to hear from you.

Thank you,
Ruoyu Li

@Moult
Copy link
Author

Moult commented Mar 10, 2024

@RuoyuLi97 g'day! That would be awesome! Join the OSArch chat, say hi, start writing a draft proposal and reach out if you have ideas / questions. The earlier you reach out with tangible ideas the better :)

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

No branches or pull requests

5 participants