Aktionen

CG Lab

Aus exmediawiki

Welcome


 !!! At the moment the CG Lab wiki page is under heavy development and things will change quite often. Over time this will become more stable. !!!


Hi there,

This is where we will collect resources for software, workflows and equipment in the CG Lab (formerly VFX Lab). Inspired by Matt Estela's one and only CG Wiki but more specific KHM media artists oriented. If something comes along, we will add it here. Don't expect it to be complete in the near future. It's meant to give you quick access to information that people keep asking us for or that seems important to us. If you are missing any information that you would like to see added here, please do not hesitate to contact us via our KHM mail. If you feel you need more information or advice, you can also make an appointment with us or with one of us individually.

contact shuree

contact nathan


In general, we don't believe that one software/company/tool is always the best or always right, we just try to give you the best way to work with what we have and know. We are always open to new suggestions and are constantly comparing and testing different tools. If you are in doubt, you can always try the free tool blender for almost any cg related task and/or try software in our lab first. We strongly recommend that you only buy software that you are really sure you need and want to use.




CG Terminology

There is a certain language used in computer graphics, 3D arts and sciences. We will try to collect here some of the main terms that you will come across in online resources and in everyday use. Some are simple, some are more advanced. To create digital art, you will usually get by without fully understanding all of these concepts. However, we recommend that you look them up. In general it will help you to at least remember that you have heard of something when you come across it. If you are planning to make 3D your main artistic tool, we think you need to have a good understanding of them.

  • SFX
    • Effects that are being done and work on a location or film set
  • VFX
    • Effects post filming and editing
  • CGI
    • Fully computer generated images


You can mix sfx,vfx and cgi and it's being done alot and it's often hard to tell what's what (“invisible” effects).

Basic 3D Graphics Terminology:

    • Mesh
      • Watertight:
        • A term used to describe topological properties of a 3D mesh or surface. A mesh is considered watertight if it has no gaps, holes, or missing triangles (faces). In other words, it is a continuous, unbroken surface that would prevent water from seeping through. This property is essential for 3D printing, computer-aided design (CAD), and other applications where a solid, enclosed volume is required.
      • Manifold: A mesh is considered manifold if it satisfies two conditions:
        • 1. Each edge is incident to only one or two faces. This ensures that edges are properly connected to the surrounding faces.
        • 2. The faces incident to a vertex form a closed or open fan. This means that the faces attached to a vertex can be continuously deformed into a disk (closed fan) or a cone (open fan) without tearing or stretching the mesh.
  • WORK AREAS:
    • Modelling
      • Creating the 3D shape and structure of objects, characters, or environments using digital sculpting or polygon/mesh manipulation tools.
    • Texturing /Shading
      • Texturing/Shading: Applying surface details, colors, patterns, and material properties to make 3D models look realistic or stylized.
    • Rigging
    • Animating
      • Bringing characters and objects to life by creating movement, defining how they act and interact over time.
    • Lookdev /Layout/ Staging
      • Designing the visual composition, lighting, camera placement, and overall aesthetic feel of a 3D scene.
    • Rendering
      • The final process of converting 3D scene data into a 2D image or animation sequence, calculating how light, materials, textures, and camera settings interact to produce the ultimate visual output that looks photorealistic or stylized.
    • Pipeline
      • The systematic workflow and technical process of moving a 3D project through different production stages from concept to final render.
    • Physics Simulation
      • Using mathematical algorithms to realistically simulate natural behaviors like gravity, cloth movement, fluid dynamics, and object interactions.



More advanced (code based) Terminology

    • Integer
      • An integer is a whole number, either positive, negative, or zero, without a fractional part, and can be represented as …, -3, -2, -1, 0, 1, 2, 3, … in the set of integers (Z).
    • Float
      • Float in coding refers to a fundamental data type used to represent numeric values with decimal points, allowing for the storage and manipulation of fractional numbers, such as 1.23, 87.425, or 9039454.2, in programming languages like C, C++, C#, and others.
      • In 3D graphics, floats are often used to store coordinates, vectors, and other numerical values with decimal precision, enabling accurate calculations and transformations of 3D objects.
    • String
      • In coding, a string is a sequence of characters, such as letters, digits, or symbols, stored as a single data type, often used to represent human-readable text, and can be implemented as a fixed-length array or a dynamic buffer with varying lengths, depending on the programming language and its libraries.
      • In 3D, a string can refer to a sequence of connected vertices or control points that define a curve or surface, used to model complex shapes and geometries in computer-aided design (CAD) systems, computer-generated imagery (CGI), and 3D modeling software.
    • Dot Product
      • In coding, the dot product (also known as scalar product) is a mathematical operation that computes the sum of the products of corresponding elements (components) of two vectors, resulting in a scalar value representing the magnitude and direction of their alignment.
      • Essential TD Skills: Designing & Implementing Algorithms starting from 03:30
    • Vector Normalization
      • Scaling a vector to have a magnitude of 1, while preserving its direction. Normalizing vectors is essential for consistent lighting and shading calculations. It ensures that vectors used in calculations, such as dot products and cross products, have a standardized length, allowing for accurate and predictable results.




Material/Shader/Texture Terminology

  • Core Material Properties
    • Base Color: The fundamental color of the material, often a simple texture or flat color.
    • Albedo: Similar to base color but excludes shadow and lighting data for physically accurate rendering.
  • Reflectivity and Surface Interaction
    • Metalness (Metallic): Defines whether a surface behaves like metal (high reflectivity and color-tinted reflections) or a non-metal (dielectric).
    • Specular: Controls the intensity and sharpness of reflections for non-metal materials.
    • Roughness: Defines how smooth or rough a surface is, affecting how sharp or diffuse reflections appear.
    • Sheen: Adds a soft, fabric-like glow to the edges of a material, often used for materials like velvet or satin.
    • Glossiness: Often the inverse of roughness, controlling the clarity of reflections.
    • Anisotropy: Controls the directional stretching of reflections, commonly seen in materials like brushed metal, hair, or textiles.
    • BRDF (Bidirectional Reflectance Distribution Function): Describes how light reflects off a surface based on angles of incidence and reflection.
  • Lighting and Special Effects
    • Emission: Makes the material emit light, creating glowing effects independent of scene lighting.
    • Opacity: Controls the visibility of an object; lower values make it transparent.
    • Transparency: A broader term for allowing light to pass through a surface, often combined with refraction effects.
    • Transmission: Specifies how much light passes through a material, commonly used for glass or liquids.
    • Refraction: Simulates light bending as it passes through transparent objects.
    • IOR (Index of Refraction): Determines the degree of light bending for transparent materials (e.g., glass, water, diamonds).
  • Surface Detail
    • Normal Map: Adds fine surface details (like bumps or grooves) by altering surface normals without changing geometry.
    • Bump Map: A grayscale texture for simulating surface details by modifying the apparent height of surface features.
    • Height Map (Displacement Map): Represents elevation data to physically modify the geometry of a surface for greater realism.
    • Ambient Occlusion (AO): Simulates soft shadows in crevices and corners where light is occluded.
  • Texture and Mapping Techniques
    • UV Mapping: A method of projecting a 2D texture onto a 3D object by unwrapping its geometry.
    • Tiling: Repeating a texture across a surface for consistent coverage.
    • Projection Mapping: Applying textures based on a 3D projection (e.g., spherical, planar).
  • Advanced Material Concepts
    • PBR (Physically Based Rendering): A shading workflow for creating realistic materials by simulating how light interacts with surfaces in the real world.
    • Subsurface Scattering (SSS): Simulates light penetration and scattering beneath the surface, used for materials like skin, wax, and marble.
    • Environment Map: A 360° image that simulates lighting and reflections from an environment.




3D Scanning

  • Laser
    • Leica 360
    • Iphone/Ipad
  • Photogrammetry
    • Taking Pictures
    • Post process
    • Reality Capture
      • A software (among other software that can do the same) that can turn images and videos it uses the frames as images into 3D models by calculating different perspectives. Also possible to mix with laser scanned data and improve your models measurements or the other way around, improve your laser scans texture by adding some higher res images.



  • Apps
    • Scaniverse
    • RealityScan




CG Lab Software


GENERAL

Brave Browser

We are sometimes approached by students who are frustrated by the clutter on the internet, especially when they are trying to concentrate and learn, so we decided to mention it here again. Brave is installed on all the computers in the lab.



3D SOFTWARE

Blender

Very powerful DCC and there are a lot of resources available for online learning. There is a lot of development going on and new versions are being released all the time. This is really cool for getting new features fast. Just watch out for stability. But usually it is possible to open very old projects in the latest version! Some parts of Blender may be outdated/buggy because they have not been looked at for a long time. This is normal, but can be hard to spot for beginners.

Blender comes now with procedural modeling: Geometry Nodes. It is a great way to understand the basics and node based/non-destructive working style.

No licensing required for Blender. Yei! Lots of free and paid plugin options (be careful, can be a rabbit hole you might not want/need to go down to complete your task/project).

Additionally, blender includes great compositing tools (especially camera tracking results can be impressive).

Amazing 2D/3D Animation Tool Called Grease Pencil!

  • Blender Gotchas
    • Blender is awesome for sure, in some cases some things might not always behave as you would expect, so here we want to collect some common settings etc. that might get you into trouble.
      • Preferences Cycles Render Device:
        • It can happen, that blender defaults to "None" in the Preferences/System/Cycles Render Device. If you would like a GPU to be used you might want to change this to "CUDA" or "Optix" for example. Only if this is set, rendering will be done by the GPU.


Blender Pipeline

Daniel Bystedt did an amazing talk on a small studio or one person pipeline for working in Blender in 2019. Of course blender has changed alot since that but we believe you should still watch and learn from his approach how to deal with data in blender. The video of this 30 min presentation is this:

Modelling
Shader/Texture Baking
Rendering
  • Cycles
    • Very powerful GPU/CPU Physical render engine. You will probably not need more for 99% of projects if you are looking for “photorealistic” light bouncing aesthetics.
  • Eevee
    • “Realtime” render engine inside blender
    • Great lookdev tool (though with most decent machines you can use cycles with denoise and low samples very well already for that and get better previs)
    • Similar to game engine texture and light calculations (similar pros and cons).


Houdini

Behaves usually as you expect it to. Our current tool of choice. Mainly because of reliability and power.

After using its preset nodes/tools and feeling comfortable with the style of working, it is possible to create your custom tools or get more into coding/TD (technical director) work style.

Working in houdini will teach you fundamental skills for any 3d/cg work or tool. The educational version, with no technical restrictions for non-commercial work, is available in the CG lab and on the entire KHM intranet.

The apprentice version can be installed on your personal computers with all functions except rendering and exporting. You can render/edit your projects on lab computers and within the KHM intranet.

Common Attributes Cheat Sheet

stole this overview from nine between's video on yt: "What are Attributes? - Speedy Houdini" min 1.32

  • @P - position
  • @Cd - color
  • @N - normal direction
  • @pscale - uniform scale
  • @scale - scale vector
  • @up - axis to align to Y
  • @id - a unique identifier (could be a bundle of points/verts/prims etc. that you define)
  • @name - an identifier
  • @v - velocity
  • @force - a force to apply
Geometry Network (Surface Operators/SOPs)

The geometry network environment is a visual programming system where you can create and manipulate 3D geometry using a network of nodes, each representing a specific operation or function. These nodes, such as Geometry, Curve, and Point, are connected to form a flowchart-like structure, allowing you to define complex geometry transformations, attributions, and relationships between different parts of the model. The network can be thought of as a recipe, where each node contributes a specific step in the processing of the geometry, and the output of one node becomes the input for the next, enabling the creation of intricate and detailed 3D models. Within this environment, beginners can start by building simple shapes and primitives, such as cubes and spheres, and gradually move on to more complex tasks like extruding curves, scattering points, and manipulating attributes, all while utilizing Houdini’s visual feedback and debugging tools to refine your creations.

Manual "intuitive" Modelling Style
  • To be clear, Houdini is not known for the common hard surface modelling style you see in most tutorials out there, which mainly use Blender to model a 3D shape very quickly and mainly by grabbing parts of your base geometry and extruding and transforming/expanding them step by step.These days though, we find a similar style of modelling in Houdini as much improved and can be a lot of fun, while retaining most of Houdinis powerful procedural style. We totally understand many cases where you just want to jump into the DCC you feel comfortable with modelling like Blender, C4D etc and we strongly believe in using many different tools for CG. But if you are curious, we would recommend anyone starting with 3D or Houdini to explore the viewport style modelling in Houdini, especially in conjunction with the VDB and remeshing tools. We find this way of modelling to be very useful and even a lot of fun for many use cases.
Procedural Modelling Style
  • Let's get to where Houdini shines. As mentioned above, modelling in the network by creating recipe-like node systems that can react quickly and flexibly to changes is what brings us a lot of fun in creating computer generated geometry.
UV Unwrapping

Unwrapping is the process of turning the surface of your 3d model into a 2d representation. So that you can texture it and e.g. bring it into a game engine or simply export your model. Copernicus needs UV Maps for making Shaders!

Terrain
  • Quick note on terrain in houdini:
    • Height fields are volumes in houdini. That's awesome because volumes can be manipulated much faster than a regular mesh consisting of polygons. Therefore your model can be very big and complex while not costing so much until you turn it into a mesh. So, while working on a terrain, before exporting it into a mesh, you will be able to use all logic that applies to any volume modeling technique (VDB SDF etc.).

KineFX / Character FX
APEX Rigging:
Copernicus/COPs/Materials

 !!! Houdini 20.5 ships with Copernicus as BETA. There may be some problems, especially on Macbooks, where the viewport does not update. Be aware of this! You can try restarting Houdini and/or going to Labs/Refresh Viewport. !!!


The Copernicus environment, also known as COP, is a 2D and 3D GPU image processing framework that enables real-time image manipulation within a 3D space. This framework consists of COP nodes, which provide a unique node body with a preview thumbnail, and can be wired together to control the flow of layer and geometry data. COP nodes fully interoperate with Surface Operators (SOPs), allowing seamless integration between 2D and 3D workflows, and can export results as images or volumes. The default image space ranges from -1 to 1, preserving the pixel aspect ratio, and texture space ranges from 0 to 1 across the data window and buffer space, useful for mapping textures. As of Houdini 20.5, Copernicus nodes are recommended instead of Compositing nodes, with the Compositing network now designated as COP Network - Old.

Solaris Environment

Solaris is an Environment for look development, layout, and lighting tools that utilizes Universal Scene Description (USD) at its core, allowing you to create complex scenes comprising multiple assets within a single graph. This environment enables you to efficiently manage and organize assets, variants, and physical editing, streamlining the workflow for tasks such as setting up lighting, cameras, and materials. Solaris integrates seamlessly with Houdini’s existing tools and nodes, providing a unified platform for you to work on scene assembly, layout, and lighting, while also supporting collaboration and data exchange with other software applications. As a beginner, you can leverage Solaris in Houdini to create and manipulate scenes, manage assets, and set up lighting and cameras, all within a cohesive environment.

VOPs
  • Node based visual coding system. As fast and powerful as VEX but no actual coding needed.
  • Same performance as VEX. If you are not a person familiar with code we always recommend learning VOP’s before VEX!
VEX
Plugins


Machine Learning

Houdini provides a platform for machine learning (ML) that supports synthetic data generation, preprocessing, training models, exporting trained models, and deploying trained models.

  • ML Deformer Demo File. Download and try out here
  • ML Terrain Demo File. Download and try out here
  • ONNX Inference geometry node
  • Machine Learning Operators Plugin (scroll down to: Plugins/MLOPs)
More Houdini online resources




Unreal Engine

Very realistic looking (outdoor) light and material rendering engine for real-time and very fast rendering. Usually used with imported geometry from other programs (Blender, Houdini etc.), but has the potential to create worlds, animations and simulations inside.

Version Control




CG/3D Production Pipeline And File Formats

USD (Universal Scene Description)

Pixar USD is an open-source framework and file format that enables non-destructive collaboration and data exchange between multiple 3D applications and departments, allowing artists to work together on complex scenes and projects without losing data or compromising their work.

GLTF/GLB

"The core of glTF is a JSON file that describes the structure and composition of a scene containing 3D models, which can be stored in a single binary glTF file (.glb). The top-level elements of the file include: Scenes and nodes, cameras, meshes, buffers, materials, textures, skins and animations.

In 2022 glTF 2.0 was released as the ISO/IEC 12113:2022 International standard, recognizing glTF's global position as a 3D asset format."