JCPalmer

Members
  • Content Count

    2510
  • Joined

  • Last visited

  • Days Won

    11

Reputation Activity

  1. Like
    JCPalmer got a reaction from rodrigezer in Better understanding of registerBeforeRender() function   
    beforeRender is mostly about code organization, with no performance effect.  There are 2 types of beforeRenders,  those registered to the scene & those registered to an individual mesh.  I am only going to talk about those registered to an individual mesh.
     
    A mesh beforeRender is much more OO, especially if subclass your mesh.  You can do sophisticated things like have a variable number of "bad guy" meshes moving around.  Just instance them, then register a beforeRender.  Doing this for each instance in the render loop is extra management code that adds no value, toxic.
     
    If you do not subclass your mesh, like if it is coming from a .babylon, then you will need to create a class for your before render, so that you can pass the Mesh to work with in the constructor.  The constructor can do the actual registration though.
     
    You can do things in a beforeRender, like check if the state of has somehow changed, and react.  I am doing this in DIALOG.Panel.  You could put this in render loop too, but a render loop could become a total mess fast.  The only thing a before render might not be able to do is run when visibility = false;
     
    beforeRender is a great way to write an extension, because you can have more than 1 per mesh.  So you can have one checking for some state change, and still use the POV extension, which is implemented as a before renderer.
     
    Really, a better question is what is the benefit of having more than a token render loop? It might be good for non-programming types,  or learning an experimenting.  The bigger your game, you will start to see that introducing more and more advanced logic becomes difficult to deal with.
  2. Sad
    JCPalmer got a reaction from Spankied in Elvis has left the building!!   
    see ya!
  3. Like
    JCPalmer got a reaction from Deltakosh in Elvis has left the building!!   
    see ya!
  4. Like
    JCPalmer got a reaction from DylanD in Elvis has left the building!!   
    see ya!
  5. Like
    JCPalmer got a reaction from webdva in Better understanding of registerBeforeRender() function   
    beforeRender is mostly about code organization, with no performance effect.  There are 2 types of beforeRenders,  those registered to the scene & those registered to an individual mesh.  I am only going to talk about those registered to an individual mesh.
     
    A mesh beforeRender is much more OO, especially if subclass your mesh.  You can do sophisticated things like have a variable number of "bad guy" meshes moving around.  Just instance them, then register a beforeRender.  Doing this for each instance in the render loop is extra management code that adds no value, toxic.
     
    If you do not subclass your mesh, like if it is coming from a .babylon, then you will need to create a class for your before render, so that you can pass the Mesh to work with in the constructor.  The constructor can do the actual registration though.
     
    You can do things in a beforeRender, like check if the state of has somehow changed, and react.  I am doing this in DIALOG.Panel.  You could put this in render loop too, but a render loop could become a total mess fast.  The only thing a before render might not be able to do is run when visibility = false;
     
    beforeRender is a great way to write an extension, because you can have more than 1 per mesh.  So you can have one checking for some state change, and still use the POV extension, which is implemented as a before renderer.
     
    Really, a better question is what is the benefit of having more than a token render loop? It might be good for non-programming types,  or learning an experimenting.  The bigger your game, you will start to see that introducing more and more advanced logic becomes difficult to deal with.
  6. Like
    JCPalmer got a reaction from Wingnut in The Wingnut Chronicles   
    I think Michigan got another option this month as well.  Didn't you say something like 'lemon...'?
  7. Like
    JCPalmer got a reaction from webdva in [Solved] Mesh: Object_0 has unapplied transformations. Export cancelled   
    This is a check on meshes with an armature.  When you have rotation and /or scaling on such meshes, nothing works right.  Tired of solving the problem of people saying "my animation does not work", so blowing up intentionally with this message.
    select Object_0. Toggle Properties area, with T key.  See Transforms section.  Rotation should be 0's & scales should be1's.
    Run Menu Object -> Apply -> Rotation & Scale
     
     
  8. Thanks
    JCPalmer got a reaction from webdva in Exporting Blender constraints to BabylonJS   
    There are multiple ways, I think.  The way to do it on the JS side is.
    A blender way would be to position the sword where it is to be held.  Make sure the origin matches the character mesh. Parent sword to armature, or add modifier.  Weight paint entire sword to the bone desired.
  9. Like
    JCPalmer got a reaction from V!nc3r in The range of values for Material.specularPower ?   
    Maybe both ways for Principled.  I am not quite to Principled, but switching stuff there (or how it is interpreted by the 2 material classes) is clearly easier.  If you have the older mix shader rats nest, am not sure how much can be done.  Thinking the 2 material classes interpreting in different ways has obviously advantages.
    I think, I understand where you are coming from.  If you are making your own materials with Principled, then you want to change between STD & PBR just using the world level, custom property, check box.  People will also be importing stuff into Blender from various formats.  If importers switch to principled, Makeuman included, they are going to use settings which look best for Blender. 
    I do not want to hear a bunch of shit that it is not exporting right, when was imported to Blender by people with no clue about Blender.  Probably unrealistic, but I can dream.
    I am almost done with non-principled, STD material processing, will use the principled topic when there.  This one is solved.
  10. Like
    JCPalmer reacted to Sebavan in What's next?   
    This is already in to be ready once fully released 🙂
  11. Like
    JCPalmer got a reaction from trevordev in Blender export to babylonJS dark textures   
    If you are referring to auto baking, yes and no.  If you switch to the Internal Render and change the inputs for it, then yes.  If you are staying with the Cycles render, no (but that is what I am working on for 2.80, since the internal render is going away)
  12. Thanks
    JCPalmer reacted to Sebavan in What's next?   
    This is a tricky one as they need to be preprocessed to work accuratly with the PBR roughness. We had a shot at it but the results where not convinving enough compared to Lys or IBL Baker. That said doing the job would allow Reflection Probe to be use with PBR rough materials and that would be awesome. I have this on my todo list since ages like cascaded shadows but always have a higher priority dev atm (Like migrating to modules). 
    I wish there would be more than 24h in a day or that we do not need to sleep 🙂
  13. Like
    JCPalmer got a reaction from ozRocker in [SOLVED] polygroups?   
    Up to my ears in 2.80 changes & TOB improvements right now.  Will look at your file, but not right now.  The tricky part about geometry exporting is multiple materials.  Border vertices get duplicated across sub-meshes.  Anything like this would have to be optional, since it would add to the file size in a significant way.
    There are going to be many changes to the next version of mesh.py.
  14. Thanks
    JCPalmer got a reaction from Ned in ComputeNormals for Blender exported mesh turns out strange material/shade effect   
    For your playground, I am pretty sure you must have exported without shape key groups, or you would not have been able to mesh clone factory.  You cannot share geometry across mesh clones and morph the vertices on the CPU.
    Plus based on your url, I kind of cheated & checked .  The mesh extends BABYLON.Mesh, not QI.Mesh.  Wow this is not even ES6 classes for meshes being generated yet.  TOB in repo is older than I thought.
    While my long talk about shape keys still creates normal lines of their own, this is not the issue here.  This would mean nothing I am planning would help.  For meshes with multi-materials, Blender vertices are duplicated when exported (.babylon and .js exporter) when a blender mesh face is right next to another with a different material.  Blender assigns materials by face, and the 2 adjacent faces can share the vertex.  BJS requires multiple vertices when in that case.  So this is not an exporter problem.
    I am not sure why you need to compute normals, but if you separate your mesh by materials, then parent mesh might fix. This would not increase overhead much, since each material is still going to be a draw call. 
    Either that or bake the different materials, so that it is not a multi-material mesh.
  15. Like
    JCPalmer got a reaction from Deltakosh in Exporting combined animations using NLA Editor in Blender to BJS   
    The exporter exports Actions.  If you combine actions using NLA Editor, I see another action being created.

    Is 'combined.walk.punch.action' not being exported?  Look at & post your export .log file to see.  I see a lot of other actions.  Are you set to export 'Only Currently Assigned Action' or all.

    If doing all & not starting via the named range, all this other stuff is going to get run too.
  16. Like
    JCPalmer got a reaction from logunov in Contributing to documentation 101   
    documentation on documenting.  Holy recursion batman!
  17. Like
    JCPalmer reacted to NasimiAsl in make environment Map texture from Playground Scene   
    http://www.babylonjs-playground.com/#8E7IHP#20


  18. Like
    JCPalmer got a reaction from DylanD in Star   
    Now at 128 by 128 webm.  the conversion F'ing worked!  Thanks again.
     
     
  19. Haha
    JCPalmer got a reaction from coolroar in Star   
    Now at 128 by 128 webm.  the conversion F'ing worked!  Thanks again.
     
     
  20. Like
    JCPalmer reacted to coolroar in Star   
    @JCPalmer I see that your  my .gif  is animated. Maybe the transparent background clashes with site avatar?
      
  21. Like
    JCPalmer got a reaction from DylanD in Star   
    Thanks!  I had tried doing this earlier, but my .gif would never animate on this site as an avatar.  I had seen others who had a .gif.  What did you use to go from .webm to .gif?

     
  22. Like
    JCPalmer reacted to coolroar in Star   
    I keep changing my avatar. A character defect? 🤒
    Anyway I created it using BJS:
    https://www.babylonjs-playground.com/#SVZL1I#3
    https://www.babylonjs-playground.com/#SVZL1I#4
    I needed to take a break from long-term projects, so I did this instant gratification stuff.       😁
    Take a look, they're short, fun, & tinkerable!
  23. Like
    JCPalmer got a reaction from DylanD in Blender Babylon Question   
    Find where on the hard drive is a file named AlbedoTransparency.png.  If you do not have one, why do you expect to export it?  If it is not in the models directory, then put it there.
  24. Like
    JCPalmer got a reaction from ozRocker in Inconsistent animation speed   
    First, to be clear, the animations are on each of the bones not the skeleton.  I would check the .log files to see if either the skeletons a have an action assigned / exported.  Would look like this for RUN:
    If this export had an AnimationRange copied to it, the FPS in the bones would from the avatar blend.  I manually changed the the FPS of the first bone of each.  Looks like that synced the root bone.  Either delete the strays actions or make sure the avatar .blends match on FPS
  25. Like
    JCPalmer reacted to V!nc3r in Can anyone find baking in 2.80?   
    In Cycles rendered I have the bake options, so I supposed it's not yet linked into Eeeve? 🙆‍♂️