Skip to content
Antibody Club: Technical Documentation
Share
Explore

Scene Creation

How to organize, prepare, and export your 3D artwork for exhibition in antib0dy.club

Open Call

Hi! You may have seen this, but we’ve got an open call for artwork for Antibody Club. See here:
Loading…

About


is a virtual space designed to build connections in a socially-distant world. As a venue and public space. Antibody promotes local organizations through world-class art and music, offering a unique interactive platform for intimate social experiences. The 3d environment was built from the ground up merged with a webcam conferencing system. Antibody Club is built with
A real-time 3D environment
A secure video conferencing platform, with embedded webcams, chat, and proximity audio
Seamless transitions between discrete scenes and “multiverse” instancing
OBS and Mixler integration for high quality video & audio stream into the 3D environment
Support for live streaming the experience to external platforms such as Twitch
Interactive elements allowing for personal ads, link-outs, and branded integrations

A note

~a note from our lead developer~
Hi, I'm Kevin Edzenga, the bugger doing the programming for Antibody Club. I've been a web head for much of my life, but my career has mostly been as a 3D graphics technical director for 10+ years. Having worked on a multitude of films, commercials, a couple games, and now Antibody; 2D and 3D adept. Proficient in Houdini and Maya (but there's a lot of crossover with C4D, Blender, etc.) If anything sounds outside of your wheelhouse, there's a good chance I've already made a tool to do the work for ya. (In Houdini most likely. I'm rather amenable to ideas, if something’s not available in Antibody Club, there is always a way. Feel free to ask any questions!

Intro

Since antib0dy.club is a real-time environment accessible on web browsers there are some basic efficiencies necessary when preparing a scene so it renders quickly and provides the best experience. The following sections communicate how to organize and prepare your Scene, Geometry, Textures, Animation, and Lighting. We’ve also outlined limitations and possible alternatives.
We’re here to help you with every step. We know that everyone uses different tools and has a range of knowledge and experience. If there’s anything you don’t see in our documentation, or you find confusing, or may need help with, we’re available to chat and determine the best way to exhibit your work.
Below is a list of supported artwork types and their associated file we can accept
1
Artwork type
Supported File Type
2
3D scenes and objects, static, and animated
OBJ, FBX, and ABC
3
2D Images
PNG, JPG / JPEG
4
Videos - 2D & 360 (equirectangular)
MP4 or WEBM
5
GIFs
must be converted to MP4/WEBM
There are no rows in this table
*If there is an artwork or filetype that is not listed, just let us know and we can help guide the process to exhibit this work.

Scene Template

If you like, try this file to get started!

Scene Set Up

This is something that isn’t entirely required, but if setting up a full scene this is the best organization & process
Antib0dy.club is multiple interactive 3D environments. In order to allow users to navigate your environment successfully we’ve designed a method for setting up your scene. Please follow this organization since it helps us identify the elements in your project and reference them in our engine to create a seamless UX.
Overview
Set your scene’s up vector to Y (Ex. Cinema4D is defaults to Z as its scene’s up)

Geometry

For the optimal user experience, it's best to have as few polygons and objects in your scene as possible. Please bake out, simplify, and instance geometry where possible. There is a reciprocal relationship between geometry and textures; the more polygons you have, the lower resolution and less textures the better. Likewise the more textures you have, the less polygons, the better.
Overview
All animated geometry must be baked out to individual files.
Up to 200K triangles or less (Maximum 1 million triangles)
Up to 150 objects or less - (Maximum 300 object transformations)
Instance geometry where possible

Specifics
Try simplifying geometry on your own. If you have trouble getting a satisfactory result we can help to reduce polygons on our end.
Merge objects where you can.
Check for Non-Manifold Geometry, Inline Points, and Convex Geometry. We can also run a clean up pass.
Instancing: is a method of making a copy of an object, where it reuses the same geometry over and over to save RAM
An example is many trees in a scene. Instance a single tree to simplify your scene. If each leaf on a tree is a separate object, merge all of these into a single object then instance the entire tree object.
If you’re having issues with instancing your geometry or saving it out successfully, simply organize your scene file for the Antibody engine to instance it for you
Blend-Shapes and Rigged characters are supported

Not Supported
Deformers are not immediately supported - if there’s something you’re trying to achieve we can discuss the best method

Texturing

It is best to strike a balance between the amount of polygons and the size and number of textures in your scene. Overall its best to keep textures as small as possible to help your scene load & render quickly. Most of the standard texture methods & features are available, but there are some tricky and unsupported ones.
Overview
Ideal texture resolution is 1024x1024. Maximum is 4096x4096
Export textures as JPG for non-transparent textures
For transparent textures, please export one Color Map texture, and one Transparency Map texture if possible
Reuse textures where possible
Use equirectangular environment maps for PBR shaders

Specifics
Resolution
All texture resolutions must be in powers of 2. Textures will be resized otherwise.
Ex. 256x256, 512x512, 1024x2048, 128x16 etc.
Use 2048x2048 for key objects
Material Methods
Flat/Full Color (no lighting, no self shadows, 100% ambient/incandescent color)
Lambert - self shadowing, no reflection
Phong - self shadowing, light highlights, (blinn/phong style shading)
PBR - environment map as metallic reflection (PBR / PBS / Stingray shading)
Material/Texture Features
Color/Diffuse/Albedo
Transparency
Ambient/Incandescent
Roughness
Environment Maps - Equirectangular
Cube Maps - Provide 6 different textures, px, py, pz, nx, ny, nz
Bump Maps
Normal Maps
True Mirror Surfaces are possible but not ideal
Reflective mirror surfaces are supported, but requires multiple render passes
Use environment maps where possible
If a mirror surface is desired, please use within reason, try to keep it to 1 surface.
Let us know if you want a mirror surface, there is no automatic way to create this in your scene file, due to its impact on people’s devices.

Not Supported
Displacement Maps / Micropolygons
Currently no access to Substance Designer, please export textures and provide the folder
Targa, EXR, PSD, and other layered formats should be separated into individual texture files
Float color space, like EXR, will be flattened to integer values
Texture Atlasing
UV space is 0-1; any 1-2, 2-3, 3-4 ... texturing will be lost
Split these into new objects or apply multiple materials to the geometry
Multiple UV Maps per geometry
UVs will only be read from the primary UV map

Animation & Geometry Animation

Summary
The antibody.club engine interprets animation over time rather than per frame. Because of these we require any animation in a scene to be exported over time rather than position/scale/etc per frame. We can support some
Overview
Bake out geometry animations keyframes, not every frame
Export keyframes as linear, ease-in/out, or easy-ease
Object animations can be animation curves

Specifics
Animation vertex count should be under 1500
Available Blended point / vertex attributes (More can easily be added, feel free to ask)
Position
Normal vector
Alpha / Transparency
Particle Size
Vertex / Point / Particle Color
Rigged & animated characters are supported
The less polygons the better, ideally under 5K
use normal/bump maps to reduce polygon counts
Blend Shapes
Make sure to use a format which supports blendshapes, FBX / ABC
To make things easy on us, make a group containing all of your blendshape targets, for debugging purposes ( We’ll delete them pre-installation )
Geometry & Particle Dynamics / Simulations
Baked simulations are supported, but must be exported on our end
Any nCloth / Quoloth / Vellum / Cloth / Geometry / Particle animations should be exported as a per keyframe file sequence, in any standard file format - OBJ / FBX / ABC / GLTF / BGEO / AGEO etc.

Not Supported
Expressions / Scripted animation / Driven Keys
Particle Solvers
Baked Fluid or Volume simulations
Simulated Geometry - Cloth & Hair
They exist, but the support is very limited; no self collision, limited constraints
Fluid Simulations - Flip, FEM, Volumes, Fluids, Sand
Rigid-Body / Soft-Body Dynamics / Bullet Solver

Lighting & Rendering Effects

Basic 3D lighting is generally supported. Although the experience is rendered in real-time, we cannot support real-time ray tracing, photon maps, ray traced shadows, or ray traced lighting.
Environment Fog is supported, and will be implemented by our team if required.
Overview
Available Lights
Point
Cone / Spotlight
Direction
Ambient

Not Supported (**solution & the works)
Live Ambient Occlusion
Live Sub Surface Scattering **
Live Photon Light Maps / Multi-Ray Traced Lighting **
Shadowing is Shadow Maps only
Sky Box / Sky Shading **
Gamma Correction
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.