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 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 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!
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
Supported File Type
3D scenes and objects, static, and animated
OBJ, FBX, and ABC
PNG, JPG / JPEG
Videos - 2D & 360 (equirectangular)
MP4 or WEBM
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.
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.
Set your scene’s up vector to Y (Ex. Cinema4D is defaults to Z as its scene’s up)
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.
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
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
Deformers are not immediately supported - if there’s something you’re trying to achieve we can discuss the best method
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.
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
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
Flat/Full Color (no lighting, no self shadows, 100% ambient/incandescent color)
Cube Maps - Provide 6 different textures, px, py, pz, nx, ny, nz
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.
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
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
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
Bake out geometry animations keyframes, not every frame
Export keyframes as linear, ease-in/out, or easy-ease
Object animations can be animation curves
Animation vertex count should be under 1500
Available Blended point / vertex attributes (More can easily be added, feel free to ask)
Alpha / Transparency
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
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.
Expressions / Scripted animation / Driven Keys
Baked Fluid or Volume simulations
Simulated Geometry - Cloth & Hair
They exist, but the support is very limited; no self collision, limited constraints