3D Miniature Sculptor / Digital Character Artist (Tabletop Miniatures & Terrain)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Any

WAGE / SALARY

$900

HOURS PER WEEK

40

DATE UPDATED

Jun 1, 2026

JOB OVERVIEW

We are an established tabletop miniature ecosystem operating two core brands: We produce high-detail physical models, scatter terrain, and digital STL files.

We are looking to expand our network of talented freelance and full-time 3D Sculptors to help build out upcoming campaign collections. We specialize in high-detail models, including historical military units (such as Samurai, feudal infantry/cavalry), sci-fi/fantasy franchises, and immersive scatter terrain.

This is an ongoing talent bench call. If your style aligns with our brands, we will keep your portfolio on file for immediate, paid project assignments, with the potential to scale into a long-term contract.

Core Responsibilities:

Create high-quality, high-detail 3D digital sculpts of characters, monsters, or modular terrain from concept art or brief descriptions.

Optimize 3D models specifically for resin 3D printing—ensuring structural integrity, proper detail exaggeration for small scales, and avoiding fragile components that break during printing or casting.

(Bonus) Cut, key, and split complex multi-part figures into modular pieces with tight-fitting joints/pegs.

Requirements:

Must provide a link to an active digital portfolio (ArtStation, Sketchfab, Google Drive, etc.) highlighting organic character sculpting or hard-surface terrain.

Expertise in ZBrush or Blender.

Deep understanding of "tabletop scale" (28mm–32mm / 54mm) and how digital geometry translates to a physical physical product.

Familiarity with historical armor, wargaming, or sci-fi/fantasy universes is highly preferred.

???? How to Apply (Google Form Link)
Please do not apply directly on this platform. To ensure your application is tracked and your portfolio is properly reviewed by our team, please fill out our quick intake form here:

???? ----------

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0199
Total Execution Time  0.0212
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,500,168 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/3D-Miniature-Sculptor-Digital-Character-Artist-Tabletop-Miniatures-Terrain-1659330
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0147 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1659330
 LIMIT 1 
0.0013   SELECT *
FROM `employers`
WHERE `employer_id` = 469153
 LIMIT 1 
0.0027   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1659330
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1659330' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1659330 
0.0008   UPDATE employer_jobs SET hit_counts '***Jun-01-2026=154***Jun-02-2026=68***Jun-03-2026=15***Jun-04-2026=14***Jun-05-2026=15***Jun-06-2026=5***Jun-07-2026=3***Jun-08-2026=16***Jun-09-2026=5***Jun-10-2026=7***Jun-11-2026=11***Jun-12-2026=8***Jun-13-2026=5***Jun-20-2026=1' WHERE job_id'1659330'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jun-2026=327' WHERE job_id'1659330'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1659330' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1659330 
0.0063   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '469153'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)