Blender EEVEE / cycles testing

I am moving the topic from the other site. One reason to do so was to see if markdown really worked. I looks like it from preview. The old site required taking screen shots.

@Vinc3r, I am looking into processing gltf exporter shadergroup nodes, but the current code blows up. Will get baking working first, before resuming this.

Blender2Babylon add-on changelog

Blender Exporter Version 6.0.0

01 February 2019

  • Supports Blender 2.80 redesign
  • Removed Internal render materials support
  • Relocated Game Engine render properties used
  • Moved all exporter level custom properties from scene tab to world tab
  • Changes to world tab:
    • Properties from scene tab
    • Added Sky Box / Environment Textures section
    • Added Use PBR checkbox
  • Changes to mesh tab / proccesing:
    • Relocated Billboard Mode from Game Engine to here
    • Relocated most of material section to new panel in Materials tab
    • Remaining materials stuff now in ‘Baking Settings’ section. Added Force Baking checkbox to avoid multi-materials.
    • Blender’s mixed flat / smooth shading now supported
    • Alpha now supported in vertex colors
  • Changes for lights tab / proccessing:
    • Added PBR intensity mode custom property. When Automatic or not PBR, intensity scaled 0-1 from Blender’s Energy, where 10 is 1. Otherwise Energy passed, unmodified.
    • Range property now supported using Blender property Radius
    • Hemi light type is no longer supported. To get a BJS hemi light use area type, & specify Size X for range.
  • Added new custom properties panel for Materials:
    • Relocated Back Face Culling checkbox from Game Engine to here
    • Relocated Check Ready Only Once checkbox from Mesh tab to here
    • Relocated Max Simultaneous Lights from Mesh tab to here
    • Relocated Name Space from Mesh tab to here (might be in TOB only, since JSON files cannot share materials)
  • Mesh baking can be reduced to only the texture channels required, keeping other image texture based channels (not for multi-material meshes)
  • Nodes based renders (Cycles & eevee) not always just baked. See chart for properties / textures & where values are from. Properties are only assigned when no texture input to socket.
STD Property / Tex PBR Property / Tex From Nodes-Socket
diffuseColor / diffuseTexture albedoColor / albedoTexture Diffuse BSDF - Color, Principled BSDF - Base Color
ambientColor / ambientTexture ambientColor / useAmbientOcclusionFromMetallicTextureRed Ambient Occlusion - Color
emissiveColor / emissiveTexture emissiveColor / emissiveTexture Emission - Color
specularColor / specularTexture reflectivityColor / reflectivityTexture Glossy BSDF - Color, Principled BSDF - Specular
specularPower (inverted & 0 - 128) roughness / useRoughnessFromMetallicTextureGreen Glossy BSDF - Roughness, Principled BSDF - Roughness
indexOfRefraction / refractionTexture indexOfRefraction / refractionTexture Refraction BSDF - IOR, Frensel - IOR, Principled BSDF - IOR / Refraction BSDF - Color, Principled BSDF - IOR
metallic / metallicTexture Principled - Specular
emissiveIntensity Emission - Strength
alpha / opacityTexture alpha / opacityTexture Diffuse BSDF - Color, Transparency BSDF - Color, Principled BSDF - Base Color
bumpTexture bumpTexture Normal Map - Color, Principled BSDF - Normal
  • Certain nodes are allowed, and are either ignored or just passed thru
    • Mix Shader, used mostly for non-principled trees
    • Separate RGB, for metallic textures wt roughness / AO
    • Frensel, when not PBR
  • glTF legacy nodes (glTF Metallic Roughness or glTF Specular Glossiness) produce an error saying to switch to standard Blender nodes or use glTF exporter
  • Texture / UV parameters are optional Nodes, when input to a texture node (ignored when must be baked, baking uses them though)
    • Mapping node for (translation to offset), (rotation to ang), (scale to scale)
    • Texture Coordinate & UVMap nodes for coordinatesIndex
  • When a material channel cannot really be represented by mapping, then it will be baked. Examples:
    • A Noise or other procedureal texture to Principled BSDF - Normal, then a bump texture will be baked
    • Any node which is not explicitly supported or ignored
5 Likes

(fixed your @thingy)

1 Like

FYI, I start to convert my cornellBox to Eevee:

1 Like

Just to be clear. We will be testing on 2.79. You should just be switching away from glTF nodes to standard ones. I am not sure a .blend saved in 2.80, loads right in 2.79.

Yep, I already had a pure 2.79b Cycle version, and will test on this scene I think. And my 2.8 Eevee scene aren’t using gltf nodes neither.
And you’re right, you can’t open a 2.8 scene into a 2.79b.

1 Like

Have published the first Blender 6.0.0-alpha zip file, here. It needs to run on on blender 2.79, not 2.80.

1.To keep things from getting weird, delete the production version first.

  1. Install test version.

  2. Restart.

Materials which are needed for the glFT exporter are not working right now. Will start to look at that. Anyone with Cycles .blend files, please run them through & see results in sandbox. A good source for test .blends may be Blendswap. Do not know if they filter by cylces or not though. For testing it may easier to inline textures, so only one file to drag to sandbox.

Visually, with the scene custom properties folded into world, the panel now looks like:

Blue have been moved. PBR switch is new, and the skybox / environment is not really functional, since .hdr files are not used in BJS.

4 Likes

Just wanted say :black_heart: on EEVEE, and hope to deep-dive this (again) soon. Really gr8 work…

1 Like

Thanks, a version which actually runs on 2.80 is very close. Many fixes to current alpha. Testing with the current alpha is probably no-longer productive. Do not want to put out a 2.80 beta without full functionality. Once these are done, will go through a Javascript exporter to JSON exporter diff process.

  • Layers to Collections (tabled)
  • Light energy changes
3 Likes

The first fully operational exporter for Blender 2.80 has just been published.

I am not getting perfect results, especially with .blends originally saved under 2.79 (even with cycles materials). Not all that sure that it is a problem with the exporter.

I have done all my coding based on a new scene, created under 2.80. If you bring in an old scene, properties of various objects look like those of the version they were saved under. This caused a black scene for me. I deleted the lights, & re-added lights and things could then be seen.

Have no plans right now to try to handle things with old lights. Do not want all old crap forever in the exporter. The changes in the first post of the topic have been edited. Click the pencil to diff from last time.

7 Likes

@JCPalmer wrote:

The first fully operational exporter for Blender 2.80 has just been published

Way to go Jeff - you are the master :slight_smile: I hopefully will give it a try over the weekend. Write now I’m wrestling with a video game I was given for Christmas - keeps throwing an error that has something to do with DirectX.

Somehow, I thought those days were behind me :open_mouth::relaxed:

cheers, gryff :slight_smile:

2 Likes

Hi guys. A little info at this website about 2.79 internal textures… needing to be converted to cycles/eevee.

On another site… someone said something about using FILE->APPEND choice… to bring 2.79 scenes into 2.8. I dunno what that does (differently than a load)… but I thought I’d mention it. Good work, guys.

2 Likes

@Wingnut, yes only the simplest materials using the old internal renderer can be loaded in 2.80 unscathed.

The File->Append thing is a way to copy objects from one scene to another. I do not know if copying an object from a 2.7x scene into a new 2.80 scene actually changes those objects, but there are a number of things about a scene which is not in the objects that would get ditched, regardless.

1 Like

Ok have now turned on the environment texture / skybox section in world. @sebavan, ignore question in old forum about this. BJS now supports .hdr textures in 4.0, so can be turned on. Here is a PBR cube in a skybox of a cave.
skybox

@gryff, your fix is also in latest .zip. Version is not changing while in beta.

4 Likes

woot!!! really cool

Nice, have to try this last exporter version soon!

Hey, JC, I decided to give your new exporter a try, and I ran into an interesting problem!

Using the Blender 2.8 exporter to export with standard materials, it works as expected:

However, when exporting with PBR textures, I get some strange backface swapping issues:

It’s as if every other triangle has backward facing normals, rendering the model see-through. I’ve tried disabling backface culling however, and the results are the same. The meshes also disappear from various angles :thinking:

Have you come across this problem already?

Ah! I found the problem. It seems the PBR alpha mode doesn’t default to 0.

This exporter works great! The animations work as expected as far as I can see! Thank you very much for your work, I’m a pretty big fan of Blender 2.8, and I think that may have just been the last part of my workflow that needed 2.79!

3 Likes

Just something I noticed is that camera’s default settings have changed for 2.80. Specifically, Focal length (FOV in BJS). In 2.79, it is 35mm / .8576 FOV.

In 2.80, it is 50mm / .6911 FOV. This length will make your scene look closer than in 2.79. To get things the same size (without changing the camera) you need to move the camera back in the opposite direction of where it is aimed.

2.80 will make things look less distorted when you get close, however. I actually use a 120mm / .265103 FOV lens, so faces do not look weird, if you get really close. FYI, default FOV if you create your own in BJS is .8

@gryff, I am not sure where you talked about posting issues with the outliner on Blender site. I am trying to use 2.80, and it is even worse (I am using today’s versions). That might be good, meaning they just are not done in that area.

What I noticed is child meshes / objects are not under the parents. It is just a flat list. It’s terrible / impossible today to figure that out. This is not usable, unfortunately.

@JCPalmer I’ve been exploring this issue too - though my version is prior to Christmas. Trying to work with parenting which as you point out does not not obviously put children under a parent. Right now, I’m creating a special collection, putting parent and all children in that collection, then checking The Properties Panel ->white square icon(Objects) -> Relations -.then selecting a parent from the drop down if not already parented. And maybe get the latest version. Right now, the exported file does recognize the parent.

I will hopefully post some examples later in the evening or tomorrow.

cheers, gryff :slight_smile: