CG Lab
Aus exmediawiki
Inhaltsverzeichnis
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). 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
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.
Terminology
There is a certain language used in the 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) terminology:
- Attributes: What are Attributes? - Speedy Houdini
- Vectors: What are Vectors? - Speedy Houdini
- Voxels: What are Voxels? - Speedy Houdini
- Normals: 3D Basics - What are Normals?
- 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.
- A mesh is considered manifold if it satisfies two conditions:
- 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.
- Integer
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.
- Neural radiance fields : NeRFs
- Getting Started with NVIDIA Instant NeRFs NVIDIA Technical Blog
- Nerfstudio (use on linux if you can)
- Apps
- Scaniverse
- RealityScan
CG Lab Software
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.
Quick start
Follow this series of tutorials if you want to learn the basics of Houdini quickly and well. Its from 2020 but still very helpful:
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
- Coding language inside Houdini. Very powerful because it is fast and most of the time cheap on computing power. TIPP: Not that suitable for Noise (VOPs are just more intuitive way for using that)
- Attributes cheat sheet:
- VEX video links:
Plugins
KineFX / Character FX
- Kinefx / Character FX video links:
Terrain
- Short Info 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.).
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)
Other popular Houdini online resources:
Blender
Very powerful and many resources available for online learning. Some parts may be outdated/buggy. Geometry Nodes is a great way to understand the basics and node based working style. No licensing required. 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). Includes pretty decent compositing tools (especially camera tracking results can be impressive).
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.
Modelling
- Sculpting
- Hard Surface
- Geometry nodes
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).
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.
- Shuree has prepared a lot of information for you at the Engine Club site. Check it out!