We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.

Custom Split Normals not working – how to?

Home Forums General Questions Custom Split Normals not working – how to?

Viewing 15 posts - 1 through 15 (of 17 total)
  • Author
    Posts
  • #59578

    Hello everyone,

    I think I am reviving an old thread, but I have a model with custom split normals, but these are ignored in verge3D after the gltf-export.

    The only “solution” I found was: use a data tranfer modifier. I don’t really know what to do exactly. I added the modifier and then what? :unsure:

    I tried the Face Corner Data – Custom Normals setting in the modifier and used a copy of the same model as source. No change.

    What is the correct procedure here? Help is very much appreciated! :heart:

    #59593
    kdv
    Participant

    show something (screenshots, for example) or attach .blend file here. On my side there are no problems with custom split normals exported to glTF. They are not ignored and exported as expected.

    Puzzles and JS. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of meaning at all.

    #59595

    Set Bake Modifyers in Verge3D settings of Render tab.

    Co-founder and lead graphics specialist at Soft8Soft.

    #59615

    I just fixed it. All I needed to do was apply smooth-shading once more and tick the auto smooth checkbox on the export-mesh. Now everything works. :yahoo:

    BUT: Why this “complicated” procedure? And what do we do when we want to animate these objects. Parent the source-mesh with custom normals to the export-mesh to not break the modifier? Thats not very practical…

    Is there a way to make custom normals work natively on export? Those are very common in game engines so it would be nice if you could use them “natively” in verge3D. :good:

    #59622
    kdv
    Participant

    and tick the auto smooth checkbox on the export-mesh

    The Wheighted normal modifier won’t create custom split normals data if this option is disabled. If you disable this option after adding custom split normals they won’t be applied in Blender and won’t be exported to glTF.

    And what do we do when we want to animate these objects

    Just animate them. Nothing will happen with the custom split normals.

    Puzzles and JS. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of meaning at all.

    #59632

    Why this “complicated” procedure? And what do we do when we want to animate these objects. Parent the source-mesh with custom normals to the export-mesh to not break the modifier? Thats not very practical…

    Unfortunally, animation of modifiers not supported and seems no change for this in near future.

    Is there a way to make custom normals work natively on export? Those are very common in game engines so it would be nice if you could use them “natively” in verge3D.

    What do you mean natevely, it wont work in Blender too if you do not activate Auto Smooth on model too. All you need is to activate Smooth Model on model. If you use Modifier to modify a mesh you need to manually apply it before export and it will work exactly as in BLender if you won’t apply it manually you need to check Bake Midifier so the enigne will do it for you. Nothing to add here.

    Co-founder and lead graphics specialist at Soft8Soft.

    #59648

    The Wheighted normal modifier won’t create custom split normals data if this option is disabled. If you disable this option after adding custom split normals they won’t be applied in Blender and won’t be exported to glTF.

    Well you need to use the DataTransfer modifier, not the WeightedNormal. And yes as I said, I checked that box. But: I already had that. I had to uncheck it, enable smooth shading again (it already was) und then check that box again. Now it works.

    Unfortunally, animation of modifiers not supported and seems no change for this in near future.

    Animating values inside the modifiers will not work because they will be baked (well at least for now). So that is obvious! :yes: ;-)
    What I meant was animating the object itself with the DataTransfer modifier on it. That is what I am doing. And I have to parent the source-mesh to the export-mesh, otherwise on export the modifier will not be baked correctly into the gltf-file.

    So my question remains: Will there be native custom split normals support in verge3d sometime in the future? And by that I mean: Custom normals work in blender (and other 3d apps) without any modifiers. In Blender you have your 3D-model, create or import the custom normals -> smooth shading -> activate auto smooth: Done.
    For them to also work in verge you need to duplicate your model, delete the custom normals on this 3d-model and then re-apply them via the DataTransfer modifier from the other duplicate (used as source inside the modifier) that still has the custom normals.

    Custom normals are widely used in the gaming industry -so realtime applications like verge- so being able to use them without this duplicate-modifier-pipeline would be very useful! :good: :)

    #59649

    They supported aleady from the day they was added to Blender. All custom normals will works fine in Verge3D – we have a lot of demos with split custom normals on some objects.

    Co-founder and lead graphics specialist at Soft8Soft.

    #59651

    They supported aleady from the day they was added to Blender. All custom normals will works fine in Verge3D – we have a lot of demos with split custom normals on some objects.

    Yes they do work – but only with this duplicate-modifier workflow. If I have a model with custom split normals and just directly export to verge, they do not work. It least not in my tests. :scratch:

    #59652

    Can you share the example?

    Co-founder and lead graphics specialist at Soft8Soft.

    #59656
    kdv
    Participant

    For them to also work in verge you need to duplicate your model, delete the custom normals on this 3d-model and then re-apply them via the DataTransfer modifier from the other duplicate (used as source inside the modifier) that still has the custom normals.

    On my side there is no need in such a complicated procedure. A mesh with custom normals is exported properly and looks like in Blender…

    https://youtu.be/XkQZ4D93NnA

    Puzzles and JS. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of meaning at all.

    #60085

    To close this thread: Once I applied the DataTransfer modifier everything worked from this point forward.

    It must have something to do with my obj-files. When iported, blender shows the correct shading with custom normals. In verge3D they do not work… Only after my complicated workflow. Very strange. Other objects with custom normals work directly as intended. Thanks to everyone for their help! :good:

    #60086
    kdv
    Participant

    attach one of these .obj files. the simpliest one. the problem should be looked into more closely.

    Puzzles and JS. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of meaning at all.

    #60087

    This file for example: directly imported it looks fine in blender.

    Attachments:
    You must be logged in to view attached files.
    #60091

    This file for example.

    Attachments:
    You must be logged in to view attached files.
Viewing 15 posts - 1 through 15 (of 17 total)
  • You must be logged in to reply to this topic.