Spacecraft - Modelling, Rendering and Launch

Deadline: October 26, 23:59:59 IST

Overview

You have to design a spacecraft launch mission animation based on a real mission that has been carried out by any country. You must model the launch vehicle and the payload. The launch vehicle can include a multistage rocket (e.g., PSLV or Saturn V), a separate fuel tank, strap on boosters and an orbiter (e.g., a space-shuttle like Discovery). The payload can be a near earth payload like the Hubble Telescope, or a lunar orbiter like Chandrayan or a deep space mission like Voyager. The crucial bit is to be as accurate as possible to the real mission. You can model and texture only one of either the launch vehicle or the orbiter in Blender. The other must be modeled in your own modeler program.

You must model the launch platforms and gantries at the launch site. You must model a texture mapped earth and place the launch site at the appropriate location on the earth. You also have to create some representation of the atmosphere and space, model the moon and other heavenly bodies as required. Remember that planets rotate, there is gravity on the earth, there is friction in the atmosphere, there is no friction in space.

Finally, you must create the blast off sequence in this part of the assignment. This requires you to create a representation of the rockets firing using a rudimentary particle system and shader based flames and smoke.

Preparation

  1. Like the previous assignment, this assignment is to be maintained and submitted via github.com
  2. Make sure you have a github.com account and have access to it before proceeding.
  3. Click on the assignment invitation link sent on the mailing list to begin.
  4. Use the same team names you used last time.
  5. Read these instructions about how to get started with assignments on github, if you do not remember.

To Do:

  1. Create a texture mapped earth.

  2. Represent and render the sky with atmosphere. You can look for shaders that model atmospheric scattering as an option.

  3. Represent and render outer space. A possible method to do so is an environment sphere map or skybox.

  4. Create a binary executable called a3-model-0 that when run shows the earth with atmosphere and outer space. Add keys A/a and D/d to rotate the earth about its axis. Use the 4 arrow keys and [ / ] keys to translate the camera along X,Y and Z axis. The camera movement should allow us to see the earth from very close to the surface and also from outer space.

  5. Model the launch site in a separate program that generates an executable called a3-model-1. Add keys that allow you to rotate the launch site model like the inspection mode in Assignment 1. If the launch apparatus has movable parts, add keys that allow these parts to be moved by pressing those keys. Documents these keys in the README.md file. The model should be saved to a file. A potential format for this is an OBJ mesh file(s). You can use an external library libraries like Assimp to save and load obj file, or you can write your own file handling routines for simple text files.

  6. Model the launch vehicle and payload similarly in a separate program, a3-model-2. The payload must be an articulated model, as most payloads on deployment will need to move/adjust solar panels, antennae and other parts. Make a hierarchical model for this purpose. You must add inspection keys that can translate and rotate the models like with the launch site. Also add keys to demonstrate the movable parts of the model as required. The keys 1 and 2 can be used to toggle the controls from one model to another. Document these keys in the README.md file.

  7. Create a program called a3-scene that will bring all these models together. Create a text scene file called launch.scn that contains the name of the various model mesh files to be loaded and the initial transformations that apply to these models. Put the launch site, launch vehicle and payload at appropriate location on the earth. To begin with you can do this interactively using keys that can rotate, translate and scale the models. Then you can output the final transformation and add it to the scene file.

  8. Figure out how to use shaders for creating smoke and fire, and use this knowledge to create the launch blast from the rocket. As the rockets climb, they leave a streak in the sky. Model an actual launch sequence as accurately as possible. For this assignment, you have to make the rockets go straight up, to the edge of the earth’s atmosphere and space.

  9. Light your scene properly depending upon time of day at which the launch is happening.

  10. Add at least two cameras to your scene - one at a distance from which the entire launch can be scene and another closer that can look at the spacecraft from close-by. Both these cameras must track the launch vehicle all ways. The point where they look at anytime during the launch can change like the thrusters, or stage separation or deployment hatch. A third camera is to be added whose eye position can be controlled by the user using the arrow keys and it always looks at the launch vehicle. You can add more cameras if you want.

  11. Pressing the L/l key should start the launch animation sequence.

  12. Make a PDF report in which you must specify which real world mission did you base your assignment on. Give links to reference images and other material that you use. Now explain all the details about your launch vehicle and payload like their geometry, hierarchical models, colour and texture. Describe the launch site and the launch sequence. Finally explain your camera choices. Do not forget to highlight which details of the real mission have you paid attention to and how they contribute to your scene.

  13. Add the keys required to drive your animation of the launch to the README file of your repository.

  14. All the binary executables should go to a bin folder in your repository as earlier. All sources should be in src and the report in the doc folder.

Do NOT do the following:

  1. Write untidy or unorganized code. This will be penalized.
  2. Submit a repository that does not conform to the expected structure or has extra files.

Marking

  1. Modelling, texturing and rendering the earth (a3-model-0): 100 marks
  2. Modelling and rendering the launch site apparatus (a3-model-1) : 200 marks
  3. Modelling and rendering all parts of the launch vehicle (a3-model-2): 200 marks
  4. Modelling and rendering the payload with at least 2 movable parts (a3-model-2): 200 marks
  5. Rendering all components of the scene together with proper scene lighting, atmosphere and space (a3-scene): 300 marks
  6. Launch blast smoke and flames (a3-scene): 100 marks
  7. Launch animation (a3-scene): 200 marks
  8. Attention to detail and accuracy wrt the inspiring real mission: 100 marks
  9. PDF Report: 100 marks
  10. Total: 1500 marks
  11. Deductions: Inconsistently written code: 100 marks
  12. Deductions: Submitting an unclean or unstructured archive: 100 marks.

Important Note

Please do not put your solution code and report anywhere public. It should not be available online.

To Submit

  1. Regularly check-in the code into your teams' github repository.
  2. The last check-in before the deadline will be considered for marking.
  3. The README.md file in the root folder should contain the names and roll numbers of your partner for the assignment, and a declaration in your own words that the assignment is your own work and that you have not copied it from anywhere. Also cite any sources that you may have used to complete it.
Previous
Next