Reprojection

Learn about Design reprojection and how to use it.

INFO
Check out the Create a Design guide before this one, it has info on setting up your development environment and most of the code below, which we'll skip here.

Contents

What is Reprojection?

Design reprojection allows you to "reproject" a Design from one 3D model onto a different 3D model. You might use it to:

  1. Render designs from an on-body model of a t-shirt onto merchandising models (folded, on a hanger, etc.)
  2. Translate designs between low-poly and high-poly models for different export scenarios
  3. Map a physical t-shirt onto a Roblox avatar
  4. Produce print-ready assets in any number of printer-specific layouts
INFO
Remember, you can use Exports to produce high-quality, print-ready images, SVGs, and distributable 3D assets for any design / model combination.

What are the Requirements?

  1. A Design
  2. Two 3D Models
  3. A mapping definition between the two 3D models

A "mapping definition" is effectively a set of UV transformations, and we have utilities to help facilitate creating them if you need. The ModelLink API resource can be used to create a permanent mapping between two models -- the SDK knows how to look these up and use them.

How to Reproject

Given a design and a companion model, it's a straightforward method call.

1import { Core3D, reproject } from '@core3d/sdk';
2import { Adapter } from '@core3d/sdk-adapter-three';
3
4const core3d = new Core3D({
5 apiKey: '...', // your Core3D API token
6 createAdapter: ctx => new Adapter(ctx),
7});
8
9const design = await core3d.loadDesign('<uri for a design on t-shirt>');
10const model = await core3d.loadModel('<uri for a folded t-shirt>');
11
12await design.render();
13
14await reproject(core3d.ctx, { design, model });

Using this technique you can utilize the same design across a variety of target models.

Reprojection Example
Get in touch

We'd love to learn more about your vision and how we can help.

PressPrivacyTermsSupportCopyright © 2025 Core3D, Inc. All Rights Reserved.