An open API service indexing awesome lists of open source software.

https://github.com/relintai/mesh_data_resource

A Godot c++ engine module. It adds a different data-only mesh type with an importer, so mesh data is available even on gles2.
https://github.com/relintai/mesh_data_resource

engine-module game godot mesh mesh-merging

Last synced: 8 months ago
JSON representation

A Godot c++ engine module. It adds a different data-only mesh type with an importer, so mesh data is available even on gles2.

Awesome Lists containing this project

README

          

# Mesh data resource Module

A c++ Godot engine module, that adds a resource, which contains raw mesh data for merging and collider information.

The module also comes with importers (gltf, and collada for now), you can import 3d models as MeshDataResources with these.

## Godot Version Support

This branch tries to follow godot's master branch (as much as I have time).

For different godot versions look at the other branches.

Status for this branch: Update for 4.0 is work in progress.

## Optional Dependencies

`https://github.com/Relintai/props`: If present, you also get a prop importer for MeshDataInstances.
`https://github.com/Relintai/mesh_utils`: If present, you get mesh simplification/optimization options at import.

## Pre-built binaries

You can grab a pre-built editor binary from the [Broken Seals](https://github.com/Relintai/broken_seals/releases)
repo, should you want to. It contains all my modules.

## MeshDataResource

The resource that holds mesh and collider data.

## MeshDataResourceCollection

Holds a list of MeshDataResources.

## MeshDataInstance

You can easily put MeshDataResources into the scene with these. They are equivalent to MeshInstances, except they work
with MeshDataResources.

## Importers

In order to import a 3d model as a MeshDataResource, select the model, go to the import tab, and switch the import type to ` MDR`. Like:

![Import Tab](screenshots/import.png)

If you set the import type to single, the importers will convert the first model that they encounter into a MeshDataResource, then save that,
if you set it to multiple, you get a MeshDataResourceCollection as the main resource, and also all encountered models as files separately.

Since MeshDataResource can hold collider information, these importers can create this for you. There are quite a few options for it:

![Colliders](screenshots/import_2.png)

## Building

1. Get the source code for the engine.

If you want Godot 3.2:
```git clone -b 3.2 https://github.com/godotengine/godot.git godot```

If you want Godot 4.0:
```git clone https://github.com/godotengine/godot.git godot```

[last tested commit for 4.0](https://github.com/godotengine/godot/commit/b7e10141197fdd9b0dbc4cfa7890329510d36540)

2. Go into Godot's modules directory.

```
cd ./godot/modules/
```

3. Clone this repository

```
git clone https://github.com/Relintai/mesh_data_resource mesh_data_resource
```

4. Build Godot. [Tutorial](https://docs.godotengine.org/en/latest/development/compiling/index.html)