Skip to content

Threejs-Powered 3d modeling website. Includes Textures, HDRIs, and 60% of the native threejs tooling

Notifications You must be signed in to change notification settings

Ssenseii/low-poly-laboratory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Imgur

LOW POLY LABORATORY

A threejs-Powered 3d modeling website, written without frameworks.

Acknowledgements

Requirements:

  • "three": "^0.153.0"
  • "sass": "^1.69.5",
  • "@melloware/coloris": "^0.21.1",

Authors

Demo

LOW POLY LABORATORY

Features

  • Light/dark mode toggle
  • Autosave (size issues)
  • Fullscreen mode
  • Cross-platform
  • Creating and Editing 3D models
  • Applying Transformations to 3d Models
  • Constants Manipulations
  • Supports HDRIS, Matcaps, Normals and more...
  • Optimized for minimum triangles (low poly)
  • Lights support
  • Orthographic and Perspective Camera Support
  • Multiple Export Settings for your threejs projects
  • Scalable for next versions of threejs (you can always add more)
  • Minified Assets

In development:

  • 3D Gizmo for properties (scale, position and rotate)
  • Editor Settings (file - edit - view)
  • Texture Drop-zone (add your own texture)
  • Electron - Typescript version
  • Animation support
  • Shader Support
  • Cloning Shapes
  • Console Manipulations and Adding Scripts

Lessons Learned

Programming:

  • Object Oriented Programming vs Functional Programming
  • Python (bulk-renaming)
  • Optimizations
  • ThreeJS hidden Constants
  • Limitations of Local Storage
  • Project Management (deadlines)
  • DOM manipulations
  • JSON manipulations
  • Software development concepts (architectures)
  • Graphics manipulations
  • How to detect and handle bugs
  • Unit Testing

Design:

  • SCRUM
  • DX and UX
  • Designing under spacial constraints
  • Lo-Fi & Hi-Fi design
  • Agile Web Development
  • Setting Rules before beginning

Personal:

  • Handling concurrent problems
  • Time Management with Big Projects
  • Researching and working with unknown utilities
  • Reading code
  • That I should read more on software development

FAQ

Why Create this?

Sometimes I want to create low poly models for my websites and using dat.gui, while extremely accessible and fun, is hard to set up for more than one shape.

My editor is fast to set up. It exports directly to human-readable code (as well as other formats) that you can copy-paste on your own projects and have them working perfectly.

Also, it was an enjoyable challenge, and I wanted to understand more of Threejs's secrets

What is it?

Well, it's like an open-source 3D modeling software but for threejs's pre-built shapes. It applies every known material and geometry transformation on the shapes and separates them so that you can work on each one independently, or more than one at a time !!!

  • It's built for scalability, so I'm always adding more.
  • It's easy to use
  • Is best for Low Poly Models though it has features for glass, metal, plastic, and light reflections...
  • almost no memory limitations (fps drops after 281 shapes)

What isn't it?

  • It's not a perfect replacement for threejs's editor
  • it's not set up for mobile devices.
  • no dev tools, no sfx editor, no animations editor.
  • minimal prior knowledge in threejs is needed to operate it

Can I Contribute?

Everyone's really welcome to take a look at my code and add pull request for any changes they deem fit for the site.

Where's the Documentation?

As of now, I'm working on fixing the bugs of the released alpha version but after I'm finished with that. I'll post a developer friendly guide to adding content. The code is still a mess. I need to seperate lots of code, and pick whether I want to go the functional programming route or the OOP one. The code is not that hard to understand as it's written specifically for future me to easily get in and change stuff. There are comments everywhere + I have a txt file full of informations that i'm not putting on github until I'm done with the alpha and release the beta.

Can I submit an issue?

YES! Please do. I'd love any kind of feedback so I can turn this into an actual working thing that I'm very much proud of.

Screenshots

Lollipop

Perry Platypus

Glassified Donut

Perfume Bottle

Ocean Sky

About

Threejs-Powered 3d modeling website. Includes Textures, HDRIs, and 60% of the native threejs tooling

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published