Tagged: video Toggle Comment Threads | Keyboard Shortcuts

  • frankiezafe 19:24 on 2018-07-11 Permalink | Reply
    Tags: , , , , , , video   

    Soft skin 

    Currently working on a library of skinning called SofSkin. It’s purpose is to make skinning in a different way: less rubberish and more mesh/geometry-oriented. The idea is to use edges of the mesh as springs that tries to recover their initial length by pulling/pushing on the vertices. The lexical field is focused on anatomy, to keep the code lifefull.

    The integration in godot is on its way, as shown in this video:

    The repository is hosted in gitlab: https://gitlab.com/frankiezafe/SoftSkin

  • frankiezafe 17:14 on 2018-05-11 Permalink | Reply
    Tags: , geometry, , , video   

    Custom export python script for blender and custom import javascript for threejs to enable morphing of vertex normal in morph targets. It might seems a bit technical, but without this, the object loaded in threejs doesn’t react to light correctly: without this export, if faces change direction after deformation, the lack of normal morphing implies that the illumination of faces is not correct. Try without, it will be clear 🙂

    Test it here:

    Or check this video:

    Anyway, the script is here: faces https://github.com/frankiezafe/Blender-scripts/blob/master/custom_threejs_keyshapes_export.py, with some javascript in comment to load it.


  • frankiezafe 20:01 on 2018-04-29 Permalink | Reply
    Tags: , fish, , , , video   

    Little week-end challenge: reproducing the “fish” shader demonstrated by Matt Nava in his talk at GDC last year.

    The shader Giant Squid Studio developed (at 3:50):

    After a few hours (not many), shader in godot:

    The source code is available on github: https://github.com/frankiezafe/Fish-shader

  • frankiezafe 23:08 on 2018-04-13 Permalink | Reply
    Tags: , , , , video, videomapping, vj   

    Release month continues with FlatMapper, a videomapping sketch running in processing.

    Source code is here: https://github.com/frankiezafe/FlatMapper

    And here is a demo video of the applicationt:

  • frankiezafe 15:51 on 2018-01-13 Permalink | Reply
    Tags: , inverse kinematics, PBR, , , urho3d, video   

    Urho3D, demo session. Great work, tested on windows and osx.

    The end of the video is the discovery of the editor.

    Try out the samples.

    All examples:


  • frankiezafe 23:24 on 2017-10-12 Permalink | Reply
    Tags: , , , , , , , video   

    same video on peertube

    (a bit more than a technical demo this time)
    After finishing the work on shadows, it was time to play with the different materials possibilities.

    To explain a bit what you are seeing:

    • at the top left, the 3 textures containing the shadow maps;
    • transparent walls (wireframes) are not take into account in the shadow map because they are using a specific material called invisible_for_shadows, i think the name is obvious;
    • the foggy volume above the ground is made of a stack of 25 thin boxes, using another cool material: solid_shadows_no_cast, they receive shadows but don’t cast them;
    • and the balls, using the solid_shadows material and having the standard behavior, but in wireframe, implying that fog is hollowed when you look through them.

    A cool feature is the ability to set the alpha of the shadows material per material. For the jelly fog, the material is looking like this:

    material screen_mat : solid_shadows_no_cast
        pass standard
          diffuse 0.6 0.7 0.95 0.2
          emissive 0.2 0.3 0.45 0.4
          depth_write off
          scene_blend alpha_blend
        pass pssm
          fragment_program_ref ShadowsPssm_pix
            param_named shadow_alpha float 0.2

    The speed control over the physic simulation (when everything freeze) is modifying the time multiplier of bullet. The call is looking like this:


    Complete projects is accessible in the engine, under samples/0.1/example.pssm_shadows.

    I need to rest a bit, it has been a harsh road to get this packed. The last part of the job is to ensure the compatibility low opengl versions!

  • frankiezafe 20:38 on 2017-10-10 Permalink | Reply
    Tags: , , , video,   

    Visualisation of contact events in the engine. Wireframe objects are the actual physical objects. The small plain spheres are placed at the position of the contact (or the average of all points), and reacts to impulse. Impulse is one of the components of the forces applied on the objects while bullet resolves the world.


    • impulse > 1000: red material;
    • impulse > 1: yellow material;
    • by default: cyan material;
    • scale calculation: (3 + impulse * 0.00001) caps at 15.

    To be precise, the impulse used here is the delta of the previous and current impulse.

    The video shows only one of the 2 contact events you can retrieve from engine:

    • pairs: represents the relation between 2 objects in contact (visualised here);
    • per object: it is also possible to retrieve contacts for a specific object.

    In future version, I plan to enable specific pair listening (“i want to know when this specific object touch this other specific object”).

  • frankiezafe 19:50 on 2017-10-06 Permalink | Reply
    Tags: , pssm, , , video   

    Tech info: 3 splits, 4096, 2048 & 1024 maps, 2 pass materials on all objects, gpu: GTX 980.

    Working on an “easy” to deploy shadow system for the engine. The work now is to make the activation of these as simple as possible.

    For the moment, the activtion has to be done manually through many steps: loading specific resources, activating them, modification of the default PolymorphApplication methods, etc.

    To make it simplier, the resources should be placed in zip, like the PolymorphTrays.zip (containing the UI style), and loaded via standard methods.

    Just to mention, I discovered the “import” feature in ogre’s materials, just wonderful! To modify the appearence of the balls in the video, one just have to inherit from a complex material called two_pass_shadows declared in the shadow package, in shadows_pssm.material file.

    import * from “shadows_pssm.material”
    material ball_mat : two_pass_shadows
        pass standard
          diffuse 0.1 0.99 0.95 1.0
            texture retro.png
            colour_op alpha_blend

    see Script-Inheritance for details.

  • frankiezafe 18:58 on 2017-09-29 Permalink | Reply
    Tags: , , , , video   

    Precision tests with bullet 

    Small demo of the current state of the refactoring on Tuning Game 3D.

    The code has been completely torn apart, some features have been moved to the engine, the rest is currently heavily refactored.

    One of the things that works much better than before is the localisation of the pointer when the user is grabbing an object: the screen is projected onto the “ground” (the floating pink box at the middle of the “room”) in a proper way. Once grabbed, the mouse is not moving in the screen space but on the surface of the ground. This may seems odd when explained, but it’s very intuitive when you controlling the mouse.

    [to be continued]

  • frankiezafe 20:35 on 2017-09-22 Permalink | Reply
    Tags: , , , , , video   

    1K spheres, 7 static boxes.

    It has been a hard day: the communication between Bullet and Ogre has been completely reviewed:

    • update of the physical world is now linked to the Ogre rendering cycle through Ogre::RenderQueueListener, meaning a more consistent frame cycle;
    • PObjects (any renderable object in the scene) are smart enough to update the correct engine, ogre when no physic, bullet when physic is enabled;
    • anti-explosion tests are refusing to parent 2 objects having physic enabled.

    The work is not finished yet, and a serious stress test should be done.

    See samples/0.1/example.bulletspring in the repository for the code of the example.

    • xuv 21:45 on 2017-09-22 Permalink | Reply

      After the popcorn test, the lottery test. Nice 🙂

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc