All Projects → JujuAdams → dotobj

JujuAdams / dotobj

Licence: MIT License
.obj/.mtl loader, written in native GML, for GameMaker Studio 2.3

Programming Languages

Yacc
648 projects
GLSL
2045 projects

Projects that are alternatives of or similar to dotobj

stitch
A Gamemaker Studio 2 Pipeline Development Kit. A CLI and Node.JS API for creating GMS2 pipelines. Includes cross-project imports, batch-creating/updating sprites and sounds, texture page management, and more.
Stars: ✭ 54 (+100%)
Mutual labels:  gamemaker, gms2, gamemaker-studio-2
Kawase
Kawase dual filter blur for GameMaker Studio 2
Stars: ✭ 23 (-14.81%)
Mutual labels:  gamemaker, gms2, gamemaker-studio-2
SNAP
Easy data format saving and loading for GameMaker Studio 2.3.2
Stars: ✭ 49 (+81.48%)
Mutual labels:  gamemaker, gms2, gamemaker-studio-2
iota
Miniature delta time and time dilation library for GameMaker Studio 2.3.2
Stars: ✭ 19 (-29.63%)
Mutual labels:  gamemaker, gms2, gamemaker-studio-2
BBMOD
Advanced 3D in GameMaker
Stars: ✭ 31 (+14.81%)
Mutual labels:  model, gamemaker, gamemaker-studio-2
Sublime-GameMaker-Studio-Language-Bundle
A sublime bundle for GameMaker Language (GML)
Stars: ✭ 32 (+18.52%)
Mutual labels:  gml, gamemaker
textboxy
Simple textboxes for Game Maker Studio 2
Stars: ✭ 58 (+114.81%)
Mutual labels:  gamemaker, gms2
DDDEditorGMS2
General purpose game editor made in Game Maker Studio 2. The basis for a lot of the tools I make.
Stars: ✭ 22 (-18.52%)
Mutual labels:  gamemaker, gamemaker-studio-2
handytools
A series of libraries to extend GameMaker 2022 LTS
Stars: ✭ 45 (+66.67%)
Mutual labels:  gamemaker, gms2
SnowState
Finite State Machine for GameMaker
Stars: ✭ 90 (+233.33%)
Mutual labels:  gms2, gamemaker-studio-2
FAST
A GML supplement library for GMS 2.3+
Stars: ✭ 22 (-18.52%)
Mutual labels:  gml, gms2
gms2-destructible-terrain
⛰️ Collidable, destructible terrain in GameMaker Studio 2
Stars: ✭ 24 (-11.11%)
Mutual labels:  gamemaker, gamemaker-studio-2
Rubber
Javascript GMS2 commandline compilation
Stars: ✭ 27 (+0%)
Mutual labels:  gamemaker, gms2
gamemaker-godot-dictionary
A dictionary for people moving from GM:S to Godot
Stars: ✭ 172 (+537.04%)
Mutual labels:  gml, gamemaker
sonic-gms2
A GameMaker Studio 2 template project used for constructing games based on the Sonic the Hedgehog series.
Stars: ✭ 18 (-33.33%)
Mutual labels:  gamemaker, gamemaker-studio-2
gd-obj
Obj file parser for Godot
Stars: ✭ 32 (+18.52%)
Mutual labels:  model, obj
opendev
OpenDev is a non-profit project that tries to collect as many resources (assets) of free use for the development of video games and applications.
Stars: ✭ 34 (+25.93%)
Mutual labels:  model
laravel-geoly
Perform fast and efficient radius searches on your Laravel Eloquent models.
Stars: ✭ 25 (-7.41%)
Mutual labels:  model
pyvaru
Rule based data validation library for python 3.
Stars: ✭ 17 (-37.04%)
Mutual labels:  model
universal-model-vue
Universal Model for Vue
Stars: ✭ 25 (-7.41%)
Mutual labels:  model

dotobj 5.3.2

.obj/.mtl loader, written in native GML, for GameMaker Studio 2.3 by @jujuadams

Download the .yymps

Chat about dotobj on the Discord server

 

Lightweight .obj/.mtl 3D model loader written in native GML. Can load from external files or from buffers. This example does not show off complex renderering or PBR, it only demonstrates the loading capabilities of the library.

Details on the .obj format can be found here: http://paulbourke.net/dataformats/obj/

 

Look! It's Sponza! In GameMaker!

 

dotobj currently supports:

  1. Per vertex position, texture coordinates, and normals

  2. Materials and material libraries

  3. Groups and objects

  4. Vertex colours - (not in the official .obj spec, but some editors can export them)

  5. UV flipping and winding-order reversal to handle engine quirks

  6. N-gon faces

 

How do I import dotobj into my game?

GameMaker Studio 2.3.0 allows you to import assets, including scripts and shaders, directly into your project via the "Local Package" system. From the Releases tab for this repo, download the .yymps file for the latest version. In the GMS2 IDE, load up your project and click on "Tools" on the main window toolbar. Select "Import Local Package" from the drop-down menu then import all scripts from the package.

 

Please note that dotobj doesn't support the following features:

  1. Smoothing groups

Not a priority since you can usually bake normals on export, but it'd be useful to have regardless.

  1. Separate in-file LOD

Not sure how often this gets used. Probably possible to implement if requested.

  1. Line primitives

Line primitives are mostly used for visualisation in editors rather than for actual game rendering. It's possible to parse line primitives and output that, but it's not a priority.

  1. Freeform curve/surface geometry (NURBs/Bezier curves etc.)

Rare to see this in gamedev and getting GameMaker to generate surfaces is not going to be a pleasant process. This will probably never be implemented.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].