Blender EEVEE / cycles testing

@JCPalmer : here is an example I created in my version of Blender 2.80

4rocks - animated

Each rock and the cube(with the animation) were appended to a new file. I created a collection called rocks with these objects in the collection. I changed the light to a simple “area” light. ArcRotate camera added with loading code.

Here is the blend file and textures used: 4rocks.zip I did pack the images into the .blend file - but there are no guarantees :open_mouth:

So test if it will export from your latest version of Blender 2.80

The original file was from version 2.76 and I did get it to load into 2.80 - but the interface was messed up including missing window options.

cheers, gryff :slight_smile:

I forgot to mention Jeff that I get this in the exported .babylon file from the materials section:

{“name”:“rocks_280_A_4.mossy”,“id”:“rocks_280_A_4.mossy”,“customType”:“BABYLON.StandardMaterial”,“specular”:[0,0,0],“specularPower”:102.4,“alpha”:1,“indexOfRefraction”:1.45,“backFaceCulling”:true,“checkReadyOnlyOnce”:false,“maxSimultaneousLights”:4,
“diffuseTexture”:{“name”:“two_rocks1.png”,“level”:1,“hasAlpha”:true,“coordinatesMode”:0,“uOffset”:0,“vOffset”:0,“uScale”:1,“vScale”:1,“uAng”:0,“vAng”:0,“wAng”:0,“wrapU”:1,“wrapV”:1,“coordinatesIndex”:0}},
{“name”:“rocks_280_A_4.arid”,“id”:“rocks_280_A_4.arid”,“customType”:“BABYLON.StandardMaterial”,“specularPower”:102.4,“alpha”:1,“backFaceCulling”:true,“checkReadyOnlyOnce”:false,“maxSimultaneousLights”:4,
“diffuseTexture”:{“name”:“two_rocks3.png”,“level”:1,“hasAlpha”:true,“coordinatesMode”:0,“uOffset”:0,“vOffset”:0,“uScale”:1,“vScale”:1,“uAng”:0,“vAng”:0,“wAng”:0,“wrapU”:1,“wrapV”:1,“coordinatesIndex”:0}},
{“name”:“rocks_280_A_4.mossy”,“id”:“rocks_280_A_4.mossy”,“customType”:“BABYLON.StandardMaterial”,“specular”:[0,0,0],“specularPower”:102.4,“alpha”:1,“indexOfRefraction”:1.45,“backFaceCulling”:true,“checkReadyOnlyOnce”:false,“maxSimultaneousLights”:4,
“diffuseTexture”:{“name”:“two_rocks1.png”,“level”:1,“hasAlpha”:true,“coordinatesMode”:0,“uOffset”:0,“vOffset”:0,“uScale”:1,“vScale”:1,“uAng”:0,“vAng”:0,“wAng”:0,“wrapU”:1,“wrapV”:1,“coordinatesIndex”:0}},
{“name”:“rocks_280_A_4.arid”,“id”:“rocks_280_A_4.arid”,“customType”:“BABYLON.StandardMaterial”,“specularPower”:102.4,“alpha”:1,“backFaceCulling”:true,“checkReadyOnlyOnce”:false,“maxSimultaneousLights”:4,
“diffuseTexture”:{“name”:“two_rocks3.png”,“level”:1,“hasAlpha”:true,“coordinatesMode”:0,“uOffset”:0,“vOffset”:0,“uScale”:1,“vScale”:1,“uAng”:0,“vAng”:0,“wAng”:0,“wrapU”:1,“wrapV”:1,“coordinatesIndex”:0}},
{“name”:“rocks_280_A_4.base”,“id”:“rocks_280_A_4.base”,“customType”:“BABYLON.StandardMaterial”,“specularPower”:102.4,“alpha”:1,“backFaceCulling”:true,“checkReadyOnlyOnce”:false,“maxSimultaneousLights”:4,
“diffuseTexture”:{“name”:“6rocks_uvs.png”,“level”:1,“hasAlpha”:true,“coordinatesMode”:0,“uOffset”:0,“vOffset”:0,“uScale”:1,“vScale”:1,“uAng”:0,“vAng”:0,“wAng”:0,“wrapU”:1,“wrapV”:1,“coordinatesIndex”:0}}

Notice the repeat of “mossy” and “arid”. Is this a fault of the exporter, or some weirdness in Blender, or just me screwing up somewhere? The original 2.76 file just exports 3 materials not 5.

cheers, gryff :slight_smile:

I can reproduce. Objects in Blender that have the same material are not shared in the export. Will look into.

No rush Jeff :slight_smile: You must be wishing I had not returned :open_mouth::smile:

cheers, gryff :slight_smile:

Blender 6.0-Beta 4

  • added support for custom split normals
  • fixed duplicate materials exported, when should be shared
  • note in log file that an Area light is exported as a Hemi

switched from Gulp for building zip to directly with Node JS

2 Likes

@JCPalmer great work, thanks! Should we be reporting any issues in this thread or on Github?

1 Like

I prefer here. I usually do email on mobile out of habit. That’s why I no longer watch the main repo anymore. Too much chatter. You might also create a separate thread on this forum, If you like.

1 Like

Great. Will do.

@JCPalmer: Here is another little event I found when I tried to export a file containing instances:

processing begun of mesh: Cube
processing begun of material: instances1.Material
num positions : 36
num normals : 36
num uvs : 72
num uvs2 : 0
num colors : 0
num indices : 36
processing begun of camera (UniversalCamera): Camera
processing begun of mesh: Cube.001
mesh is an instance of : Cube. Processing halted.
========= An error was encountered =========
File “C:\Users\Peter\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\babylon_js\json_exporter.py”, line 124, in execute
if len(mesh.positions) == 0:
ERROR: ‘Mesh’ object has no attribute ‘positions’
========= end of processing =========
elapsed time: 0 min, 0.06 secs

Done with latest version of Blender 2.80 and the Beta 3 version of the exporter

It reports an error when it meets the first instance. it seems to be looking for “positions”

The .blend file is easy to create - just select the cube in the startup scene, then right click on it and select “duplicate linked”. Then try to export.

As always, is this a fault of the exporter, or some weirdness in Blender, or just me screwing up somewhere?

cheers, gryff :slight_smile:

Thanks, that was a check I added for the new MakeHuman addon. It can create an extra mesh when the default body is not used. That mesh has no vertices. I added a check so that it could be skipped.

Probably should have had the check anyway, but did not think of instances, which do not even have a positions variable. Fixed the check, but not in a hurry to put out a one line changed version.

That is OK Jeff - take your time :slight_smile: I’m just loading some of my old files into Blender 2.80 using the “Append” method. I was hoping to try particle stuff for creating trees and rocks etc. before I moved on to human animation.

Is the current MakeHuman addon built for Blender 2.80?

cheers, gryff :slight_smile:

Blender 6.0-beta 5

  • fix check failing when using instances
  • fix problem when not using a node based material

As far as MakeHuman addon for 2.80, sort of but might be a little early.

3 Likes

Bingo Jeff! I can export meshes as instances :slight_smile:

100 rocks

Appended the plane and one rock into a new collection. The plane gets loaded with its particle system intact. Then I applied the particle system and exported the instanced meshes after changing the lamp to area lamp (but named it to “Hemi” )

I say don’t rush with the updates as I know you are working on that Magic Leap project and grant.

cheers, gryff :slight_smile:

1 Like

I used the stand-alone MakeHuman as a base for that model I posted a picture of earlier, it’s pretty Blender 2.8 friendly too! If you import a DAE from the MakeHuman stand-alone then all of the textures will be automatically set up in Eevee except for the alpha transparency, which takes a bit of rewiring, but nothing too major.

Also the transform rotations aren’t 0’d, so if you do go that route make sure to apply object transforms first on the skeleton itself, then on the meshes attached to the skeleton.

It’s very do-able in my opinion, but I suppose you’ll have to judge that for yourself!

This topic has run its course. The Blender 6.0 exporter was announced. Please post to there.

The EEVEE branch of the repository has been deleted.

3 Likes