Search the Community

Showing results for tags 'makehuman'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • HTML5 Game Coding
    • News
    • Game Showcase
    • Coding and Game Design
  • Frameworks
    • Phaser
    • Pixi.js
    • Babylon.js
    • Panda 2
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 3 results

  1. Kinect V2 skeleton

    This topic is a follow up to one of the "what's next?" comments I made. I have added facility into an addon for Blender, which allows post import operations on MakeHuman meshes / skeletons. The button highlighted, converts the 160 some odd bone, default skeleton to one made for Kinect2. The bones are named for the bone tail which lines up to the joints the sensor's output. There was an old topic about this, but: The people are gone. They shared nothing but pictures. This includes their skeleton, which could have been the reason for all their problems. Here is a .blend of my converted skeleton. Any comments would be appreciated, @gryff, @dbawel maybe? The skeleton units are in decimeters, which are easy to convert the sensor's meters to, but any solution should probably have a units multiplier. The .blend is already in weight paint mode, seen below. Just RIGHT click any bone to see its weighting on vertices. For the rest of this topic, I am just sounding out how I think this might be implemented in 3.2. DB, for your electronics company work, I think you are going to have time requirements which are too tight for waiting for 3.2. First, I wish to use this for pose capture, but making changes to the Skeleton class (or QI Skeleton sub-class) to do live animating may actually help debug things & therefore be a twofer. To this skeleton class, if the bones array cannot be changed to a { [bone: string] : BABYLON.Bone } dictionary for compatibility reasons, I think there needs to be some additional data elements & a method to switch on Kinetics, because calling getBoneIndexByName() 25 times every update is probably slower. Next thing is, yes bones are basically a local matrix to the bone parent, & kinetics returns data in it's world space, BUT that is no reason to go all the trouble of converting sensor output to local space (unless doing mocap - more later), WHEN skeleton.prepare() is just going to have to convert it back. Performance could suck. Having an alternate _computeTransformMatrics() seems like the level to branch off to convert from kinect space to world space. Here is a non-running mock up of all these changes: public onAfterComputeObservable = new Observable<Skeleton>(); protected _kinectsDictionary : { [bone: string] : BABYLON.Bone }; protected _useKinetics : boolean; protected _kineticsBody : any; protected _kinecticsBodyIdx : number; protected _kinecticsUnits : number; protected _kineticsFloorClipPlane : BABYLON.Quaternion; public switchToKinetics(val : boolean, units = 1, bodyIdx = 0) : void { this._useKinetics = val; if (val) { for (var i = 0, len = this.bones.length; i < len; i++) { this._kinectsDictionary[this.bones[i].name] = this.bones[i]; } this._kinecticsUnits = units; this._kinecticsBodyIdx = bodyIdx; } else this._kinectsDictionary = null; } public incomingKineticsDataCallback(eventData : string) : void { var parsed = JSON.stringify(eventData); this._kineticsBody = parsed.bodies[this._kinecticsBodyIdx]; // account for right handed to left handed for this here this._kineticsFloorClipPlane = new BABYLON.Quaternion( parsed.floorClipPlane.x, parsed.floorClipPlane.z, parsed.floorClipPlane.y, parsed.floorClipPlane.w ); this._markAsDirty(); } /** * @override */ public _computeTransformMatrices(targetMatrix: Float32Array, initialSkinMatrix: BABYLON.Matrix) : void { if (this._useKinetics) { this._kineticsTransformMatrices(targetMatrix, initialSkinMatrix); }else{ super._computeTransformMatrices(targetMatrix, initialSkinMatrix); } this.onAfterComputeObservable.notifyObservers(this); } protected _kineticsTransformMatrices(targetMatrix: Float32Array, initialSkinMatrix: BABYLON.Matrix) : void { // ... } For using this for capture, maybe a method in the bone class say, worldToLocalMatrix(), which could be called by code monitoring the onAfterComputeObservable. This is my current straw man. I do not even have the hardware, right now. Thoughts?
  2. If only this were just a texture. There are also Tutorials & Articles on this site, so thought someone might benefit. I know I need to use Blender better. BTW, could you make a texture that was clear in spots, & when curved around a mesh, let you see all the way though?
  3. Hello everybody! I'm having a problem with armature/rigging/bones animation in Babylonjs after exporting from Blender. There is no animation at all, although the animation is playing in Blender perfectly! I wanted to configure Babylonjs options in Object data like I usually do for meshes, no problem with that. But when it comes to Armature object data, there is a Babylonjs option, but it's empty, no configurable at all. Maybe that's why animation is not playing. But when I downloaded the Blender to Babylon.js exporterIT SAYS: The Blender export plugin supports the following features: MeshesNameGeometry (Positions & normals)PositionRotationScalingTexture coordinates (2 channels)Vertex colorsVisibilityCheck collisionsBillboardReceive and cast shadowsBones (armatures) and bones' animationsAnimationsClearly it says that it supports bones/armatures and their animations! So, can you help resolve this issue, please? Maybe you could download the files here and check them out: or here Thank you!