Git Product home page Git Product logo

exporters's Introduction

⚠️

The Babylon.js Exporters are no longer in active development. While the tools will continue to work for existing versions of Maya & Max (2022), we cannot guarantee that they will continue to work for future versions. If you are interested in helping us maintain these tools for future versions of Maya & Max, we'd GLADLY welcome the help, please contact us on the Babylon.js Forum

For alternative export options, please see this doc: https://doc.babylonjs.com/preparingArtForBabylon/dccToGltf

Babylon.js Exporters

Build Status Deployment Status

Get the latest installer for our exporters here: https://github.com/BabylonJS/Exporters/releases

Documentation on the 3ds Max exporter is available here: https://doc.babylonjs.com/features/featuresDeepDive/Exporters/3DSMax
Documentation for exporting from 3ds Max to glTF is available here: https://doc.babylonjs.com/features/featuresDeepDive/Exporters/3DSMax_to_glTF

Documentation on the Maya exporter is available here: https://doc.babylonjs.com/features/featuresDeepDive/Exporters/Maya
Documentation for exporting from Maya to glTF is available here: https://doc.babylonjs.com/features/featuresDeepDive/Exporters/Maya_to_glTF

Any questions? Here is our official forum.

exporters's People

Contributors

bghgary avatar bloadrick avatar deltakosh avatar dependabot[bot] avatar dkyteassg avatar drigax avatar elpie89 avatar fireflyforlife avatar funfetched avatar jaskar avatar jdwilder-google avatar kcoley avatar kutomer avatar mackeyk24 avatar meshig avatar noalak avatar palmer-jc avatar pandagaume avatar philsg avatar piratejc avatar pryme8 avatar quentinrillet avatar renjianqiang avatar rlouvat avatar sebavan avatar selmar avatar sergiorzmasson avatar thibaultpawlak avatar tkazik avatar vinc3r avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

exporters's Issues

Max GLTFExporter: Object reference not set #2

This is maybe similar to the other bug with unselected bones, but not the same. Everything is to be exported here, as you can see.

It is an old model (> 5 years), so something here may be invalid. I have no idea what. The last mentioned mesh by the exporter looks like a simple editable mesh. No skin, no animation. I don't know what the next mesh to export would be, the last exported mesh is in the middle of a bunch of meshes that haven't been processed yet.

image

Fix material export when its type is not handled

Currently, only standard and physical materials are supported by the exporter.
For other materials only a warning is displayed but mesh's materialId remain unchanged.

To do to fix issue:
Such material should be ignored and meshes' materialId set to null.

Babylon file exported from 3ds Max 2018 doesn't load when using AssetsManager addMeshTask

I just get purple space. Exporting the same file to .obj, importing into Blender, and then exporting to .babylon "works" in the sense that it will load (there are problems with textures being off in association with going from Max -> OBJ).

Also, the resulting babylon file using the Max exporter is huge: more than twice the size of Max file. This is not the case using the Blender exporter.

I'm using the latest 0.36.0 zip file.

These are the errors I see when I call addMeshTask (and presumably why I'm not seeing any of my meshes):

errorObject.message:

"Unable to import meshes from assets/scenes/agency/babylon/agency.babylon: importMesh of agency.babylon from 3dsmax version: 2017, exporter version: 0.4.5 Material Name: Floor Material Name: Walls Material Name: Ceiling Material Name: Baseboard Material Name: 23 - Default Multi-Material Name: Material #258 Mesh Name: Room, isInstance: NO, # of submeshes: 4, n vertices: 276, parent: NONE Mesh Name: Camera001.Target, isInstance: NO, # of submeshes: 0, n vertices: 0, parent: NONE Material Name: Wood 01"
(Despite the error I am using 3ds Max 2018)

errorObject.exception.message:

Cannot read property 'toString' of null

Scene environmentTexture in 3d max

Would be nice to have possibility to define environmentTexture (dds or any other supported format) for scene in 3d max so preview can use it for PBR materials

3dsMax glTF exporter: indices are always ushort

Hi,

We ran into an issue of indices. The problem is two-fold:

  • The indices are always stored as an array of unsigned shorts. When the number of vertices exceeds this, the indices wrap around to 0 and are invalid.
  • The number of exported vertices is always 3 times the number of triangles. Vertices are not re-used. This means the problem is encountered significantly faster (as well as cause data size bloat).

A side-effect of the second point is that it is significantly harder to optimize a mesh.

Best,
Selmar

DDS texture results in Export Error

When using a DDS texture on a material, when exporting, the following error appears and nothing is generated:

Exportation cancelled: Parameter is not valid.

No Gulp in repo

Someone found I typo in Blender exporter. I had put the file zip process into Gulp, but no Gulp dir here. Probably could use a very stripped down version.

3DsMax: Option for multi-animation

Exemple: to have an array in the babylon options in 3ds in order to manually enter the range of different animations and put them inside the export (0-50: walk, 100-150: run)? This option would greatly help 3D graphic designers for complex projects.
BabylonJS/Babylon.js#2360

gltf: Animation and transformation issues

Hi folks

I recently discovered this exporter for 3ds max and thought is was the solution to all my issues :)
I tried both 3ds max versions (2015/16 and 2017), but the resulting gltf/glb get twisted up:

a319_animation_transformations

Any ideas, why this is happening? The model han be found here:
A319_gen.zip

The twist looks quite similar to the .fbx export I get when using the built-in fbx exporter from 3ds max 2016. The fbx exporter in version 2018 solved these issues for me. I know there is work in progress on the 2018 babylonjs-exporter as well...so this might solve also this issue. Or is this not connected?

Thanks for your hints!

Animated bones with group

From the .max file available here, animation is working correctly in gltf format but not in babylon.

Why is it not working in babylon?
Tracks:

  • meshes and bones are grouped
  • group is animated

Why is it working in gltf since all data come from babylon?
Tracks:

  • thx to invertBindMatrices issue is not encountered

Blender exporter does not export diffuse bsdf but bakes texture

Hello everybody,
I try to export a simple meeple from blender to babylon. It does not export the materials which consist of a simple diffuse bsdf shade. The exporter always bakes the texture which is not my intendet aim.
Does anyone have an idea about it? The corresponding files are attached below.
Thanks a lot in advance!
meeple.zip

Rotate camera/light 90°

Conventions:

  • in 3ds max, camera and light default direction is downward
  • in Babylon, their default direction is sideways

As such, a FreeCamera (no target) with a (0,0,0) rotation is looking wrong way once exported to babylon.

As for TargetCamera, since the rotation of the camera is dynamic, the camera is looking correctly to the target once exported.
However, camera's children are rotated 90°. A TargetCamera with a (0,0,0) rotation (target is below camera), when exported to babylon will have a (90,0,0) rotation, looking at its target.

To do to fix issue:

  • for FreeCamera, add a 90° rotation to the camera (and its animations).
  • for TargetCamera, if it has any child, add a TransformNode with a 90° rotation as child to the camera. Camera's children are then added as child to this extra node.

Convert any 3dsmax file's units to meters when exporting.

Currently, if the system unit scale is set to 1 unit = 1 centimeter, the exporter exports the units as if they were meters regardless.

Correct behavior would be to convert all units to meters before exporting, as per spec:

The units for all linear distances are meters.

Max GLTFExporter: Material exportation very slow with large bitmaps.

Exporting materials is abnormally slow. it is stuck exporting gltf materials for a long time. The total export time is 144 seconds. I don't recall it being this slow last month (same file).

Initially I thought the problem was because I had very large textures attached (multilayer .tiff, > 100 MB), however after replacing the maps with previously exported .jpg files, it still takes around 140+ seconds.

If copy textures to output is selected, the time increases to around 240 seconds (I did not test this with the smaller textures).

There is nothing abnormal about the exported materials.

image

	"materials": [{
			"pbrMetallicRoughness": {
				"baseColorFactor": [0.612745166, 0.612745166, 0.612745166, 1.0],
				"metallicFactor": 0.0,
				"roughnessFactor": 0.9
			},
			"emissiveFactor": [0.0, 0.0, 0.0],
			"name": "04 - Default"
		}, {
			"pbrMetallicRoughness": {
				"baseColorFactor": [1.0, 1.0, 1.0, 1.0],
				"baseColorTexture": {
					"index": 0
				},
				"metallicFactor": 0.0,
				"roughnessFactor": 0.9
			},
			"emissiveFactor": [0.0, 0.0, 0.0],
			"name": "09 - Default"
		}, {
			"pbrMetallicRoughness": {
				"baseColorFactor": [1.0, 1.0, 1.0, 1.0],
				"baseColorTexture": {
					"index": 1
				},
				"metallicFactor": 0.0,
				"roughnessFactor": 0.9
			},
			"emissiveFactor": [0.0, 0.0, 0.0],
			"name": "05 - Default"
		}
	],

Morpher + Multi/Sub-Object Material don't work together

Steps:

  1. Make a box (box1)
  2. Convert to poly
  3. Duplicate it (box2)
  4. Morpher modifier on box1
  5. Edit box2 and set a morph animation (optionally export and run after to see the previewer preview the animation now)
  6. Put a material on box1
  7. Put a different material on one face of box1
  8. Export and run now, to see that animation doesn't play

I think that means there's an issue with the exporter. Importing this model into Godot 3 RC3 crashes it. This doesn't happen if either the morpher modifier is removed or box1's material is changed to a non- multi material. Having both on the same model causes the babylon.js preview in "Export & Run" not to show the animation, which I take to mean something's breaking in the exportation, as trying to import this same model into Godot 3 RC3 crashes it. This happens whether you export to .gltf or .glb

Allow easy definition of custom material exporters for project forks.

For our project, we require a custom material exporter. At this point, the material is not ready for public usage, nor may it even be proper to add it to babylon. Thus, we would like a way to add a custom material exporter to the project, preferably with minimal merging effort.

I envision it'd work somewhat like this: you create a new class that has an interface (e.g. `IMaterialExporter) that allows the exporter to get the material class ID associated with it and provides a function to export from a material handle. The exporter will find and create these material exporters using reflection.

I believe this material exportation should somehow allow for custom parameters that can be added to the glTF file format (like "extras" or material extensions).

Another difficulty is that when you add files to a project, the solution file is changed (and thus merging is still slightly annoying). Perhaps a good idea is to create a separate project for.. well.. extensions to the plugin?

Any thoughts are welcome.

Support grouping animation clips together in Max/Maya to glTF exporter

@noalak

See BabylonJS/Babylon.js#3411 for context.

Since Max/Maya support animation clips, but don't support animation groups, it would be good if the glTF exporters for Max and Maya supported some mechanism (some additional options in the export window, etc.) that allow selecting of animation clips that should play together in a single Babylon animation group and export them to glTF as a single glTF animation with multiple channels.

render error?

image

unity 2017.2
exporter unity new version
babylon.js 3.x 2017-11-4

viewer:
image

Max GLTFExporter: Object reference not set

This occurs when trying to export a selected mesh that has dummy nodes used for animation outside of the selection. If the nodes are properly selected the issue does not occur.

image

3d Max export have choose between PBRMetallicRoughnessMaterial and PBRMaterial

As there are significant differences between PBRMetallicRoughnessMaterial and PBRMaterial features but they both support MetallicRoughness workflow, would be nice if there could be some drop down or other way to specify what type you want to export, as right now to use features that are available only in PBRMaterial you need to manually parse exported file and rename fields.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.