Search the Community

Showing results for tags 'skeleton'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Twitter


Skype


Location


Interests

Found 64 results

  1. I have encountered a major issues when doing skeletal animation with dynamic state changing. Scenario: I have player input control coming from game pad to control the player movement... This causes Animation State Changes.. Going from walking to running for example... WITHOUT the enableBlending AND blendingSpeed properties being set on EACH BONE ANIMATION ... you get very SHARP and jerking transitions between animation state. The problem is coming into play when I need to UPDATE the enableBlending and blendingSpeed ON EVERY animation state change... that way can configure animation timing to interpolate from the last animation to the the one about to be played... So I have to check if the target is a skeleton and loop thru ALL the bones to update the enableBlending and blendingSpeed ... Now I get why we have those properties set on the 'Animation' itself BUT when animating a skeleton as the target we really are setting the SAME blending value on all the bones when transitioning from walk to run animations. This is cause a HUGE performance hit on my xbox ... especially when move TWO fully riggred 65 bone animated characters on the screen. Now my work around is to MOD the babylon.runtimeAnimatons class to CHECK if enableBlending and blendingSpeed (and loopMode) are specified on the target's metadata, if so use that info... that way I dont have to loop thru all the bones setting blending speed if the code in 'setValue' use the higher lever value IF EXISTS on target. setValue Code Mod: var enableBlending = (this._target._skeleton && this._target._skeleton.metadata && this._target._skeleton.metadata.enableBlending) ? this._target._skeleton.metadata.enableBlending : this._animation.enableBlending; var blendingSpeed = (this._target._skeleton && this._target._skeleton.metadata && this._target._skeleton.metadata.blendingSpeed) ? this._target._skeleton.metadata.blendingSpeed : this._animation.blendingSpeed; if (enableBlending && this._blendingFactor <= 1.0) { ... rest of code ... } Now @Deltakosh does not like Unity specific mods to the code but I think this would help ALL folks and not just my unity toolkit... Either way... I can keep this in my OWN BUILDS of the babylon.js engine and ships MY OWN builds with toolkit OR I can submit to BabylonJS master Yo @Deltakosh Please let me know if this Kool with you (checking for target level blending info) and I will submit... If not, just me know and I will keep in my OWN BUILDS of the engine... No worries wither way, just thought others could benefit from this little mod as well
  2. Hi all, who know the babylon have the fucnctionality for setting a new rest pose for skleton? I mean, if we have a skeleton for the example with 20 frames and by default the rest pose it the first frame, but if I need to apply a frame of the animation as new rest pose, how I can do this from code? Thanks :)
  3. I am loading a mesh from a babylon file The mesh has a skeleton. The shadow casted by it is not proper. See file "with_skel.jpg" to check the shadow casted. Now if i remove the skeleton by doing mesh.skeleton=null; The shadow is proper. See file "without_skel.jpg" I was able to reproduce the issue in playground but wasn't able to save the code. I got the error message "file too big" when trying to save. The code is a little large as it has an embedded scene file. So I have attached the code here. See file "playground_code,txt" Copy the code to playground to check. comment on/off line 44 to see the issue playground_code.txt
  4. Hello everyone!I plan to use the Kinect v2 (that for xboxOne) to move an avatar in my scene.My idea was to gain the quaternions of jointOrientations and then change the appropriate bone matrix. Nevertheless, the jointOrientations are expressed in global rotations (each jointOrientation indicates the direction of the joint in absolute coordinates) while, if I understand it, I can only modify the local matrix of skeleton bone. So I am trying to convert local jointOrientation in local rotation:var joint; //the joint of kinectvar parent = joint.Parent();var localOrientation = BABYLON.Quaternion.Inverse(parent.Orientation).Multiply(joint.Orientation);But I'm having trouble in the transformation of the reference coordinate between kinect joints and avatar bones int the babylon scene... I tried to change the axes by swapping values (x, y, z), but I'm probably wrong var kinectOrientation; //orientation of the joint expressed in quaternionreturn new BABYLON.Quaternion(kinectOrientation.y, kinectOrientation.x, kinectOrientation.z, kinectOrientation.w); //this is just one example, I have tried in different casesDo you have any advice? Thanks in advance
  5. QUESTION: What are the minimum steps required to get a bone to export from blender and to be visualized with Debug.SkeletonViewer? Having trouble making a cube add a bone and then export to babylon. After a bunch of variations I see why... there are many steps: Applied: Object->Apply->Location & Rotation & Scale. And ensured Camera Icon is on Armiture (exporting). Weight Painted. Or setParent-> Auto Weights. And added Armiture modifier... still no bones. Tried two different loading types, two different export types (Tower of Babel), and then... #3 glTF. Fabulous! I'll leave the tips that I find below. GOAL: open blender > add 1 bone inside a cube or tube and > export to .babylon > then see bone with Debug.SkeletonViewer. PURPOSE: to run a bunch of test animations on bones (at runtime). CONTEXT: Blender version (2.78) and updated the exporter (babylon.js ver 5.4.2). Also Tower of Babel, and glTF exporter 1.0. UPDATE: glTF animations look promising. I'll provide answer here for minimum steps to animate GLTF Blender Export. Any tips of things to try in this experiment? Thx.
  6. Ridge Batty

    Animations and controllers

    Hi, I'm trying to modify animations in real-time but it seems to be extremely difficult in practice. There are functions to modify bone rotations, positions, scaling and nice helpers like BoneLookController and BoneIKController... but all of them seem to break down when you change the animation (from walking to running for example). Every time I change animation, all the parameters are reset, causing terrible jerks and twitches when the system tries to blend the controller or rotation back into place. Is there a way to force animation blending off for single rotation or controller? I can't turn the blending off for the whole skeleton, because then the animations stop blending... obviously. Is this a known issue or is there any solution? Thanks in advance.
  7. Hello. I've been experimenting and enjoying Babylon.JS; thanks for all the hard work on the library. I've been trying to blend loaded model bone animations and run into issues. The simplest case would be idle->walk->run loops. This has been mentioned a while back (pre v2) here, here, and here. While you can call custom animations on each bone (ie, arms get one frame set, legs get another), this doesn't help with easing between animations that use the same bone. Another suggestion was storing the combined animations in the model, but that doesn't allow for smooth transitions (or permutes up very quickly) As a learning experiment, I dove into the code. Here's a demo of my results. The babylon.js it references is a hack experiment where I do the following: 1) allow multiple animations per target by not calling stopAnimation(target) on beginAnimation 2) on every call to a scene's animation, pass along a cache 3) on every animation._interpolate() where datatype == Animation.ANIMATIONTYPE_MATRIX, write the matrix to the cache 4) if the animation._interpolate() has a cache hit, invoke the otherwise unused matrixInterpolateFunction() with a factor value to interpolate between the 2 matrix The result plays the animations, mostly. The result is flipped, both in normals and on the z-axis, which I don't understand (my grasp of matrix math is not great). Most of the work revolved around getting data passed between the otherwise isolated animation instances so they could be aware of the other animation to blend. This hack also doesn't handle an arbitrary number of animations to merge or an easy way to work with them, since calls to stop use the target as the common factor. What is the best way to approach this? Is there something I missed in the library? Or how could I implement this correctly for Babylon.js? Thanks
  8. I've successfully cloned a mesh and its skeleton with this code: this.mesh = Assets.avatar.clone(JSON.idx); this.mesh.skeleton = Assets.avatar.skeleton.clone(JSON.idx); I then run an animation like this: this.mesh.skeleton.beginAnimation("Idle",true,1); This works well on Windows browsers. I can have 10 people moving about with their own separate animations. Some running, some walking and some idle. However, this doesn't work on iPhone and iPad. If I animate one of the meshes then all of them will activate the same animation. If one is running then ALL of them will be running. Its as if they are all referencing the same animation. Does anyone know how I can get this to work on iPhone?
  9. Hi there, I am very new to babylon and 3D area, I saw this demo from tutorial and I have some question, https://www.babylonjs-playground.com/#1BZJVJ#30 1) I want to import a mesh of a character, why would it end up with an 'array' of newMeshes and skeletons. 2) If there is an array of meshes, why it only change the position of the one at '0'(newMeshes[0]) and it works for all meshes. 3) Same for skeletons, in this demo, there is only one skeleton, but if there are more than one, should I loop for every skeleton to call beginAnimation? skeletons.forEach((singleSkeleton) => { var animation = scene.beginAnimation(singleSkeleton, 0, 100, true, 1.0); }); I know these questions might be very basic, is there any article recommended?
  10. ozRocker

    Realtime rigging

    Is it possible to place a t-shirt over a rigged human mesh and transfer skeleton and weights of human to the t-shirt in Babylon.js? So then you can animate the t-shirt with the human I know you can do all this in Blender, but I'm wondering if it could be done in real-time using Babylon.js
  11. Hi All! The BABYLON.Debug.SkeletonViewer help to view skeleton in array of lines. So can we create the bone from 2 points to build skeleton?
  12. Do anybody know if its possible to create a class Like InstancedMesh BUT use a separate skeleton... So I can either clone or build up a skeleton for each instancedMesh to use... that way each instanced mesh could play a separate animation... Don't know if its possible with the current InstancedMesh class but maybe can be re-write a class of subclass that can handle using a seperate skeleton... Maybe just wishful thinking Yo @Deltakosh do you think would be possible at all ???
  13. I am continuing my work on Particle Hair. I can transfer vertices without faces in Tower of Babel. See: Matrix weights / indices are not really capture-able, so I am just trying to generate them. If they need to be generated, might as well do it in Javascript vs Python and save the transfer bandwidth. I was not going to get real fancy with the number of influencers, just 1. As soon as I add the skeleton, the Hair (LinesMesh) dis-appears. I added both vertex colors & skeletons to LinesMesh for 3.0. I really wanted to get this working prior to 3.0 production. I could just be having a mental block, so I tried to do the simplest playground scene. If you change the if (1 === 0) to if(1 === 1), it also disappears. Any clues?
  14. I have a scene not quite ready, but essentially a human mesh appears. It does some skeleton posing coordinated with some morphing. The scene is using an arcrotate camera. The human has meshes for eyes, eyelashes, eye browse, teeth, & tongue which were all merged prior to export. They are a single mesh with multi-materials, so sub-meshes, in BJS. If you zoom in, the sub-meshes disappear early. I am not sure, is this was supposed to happen? BTW, If no animation is done or only the morphing, then this does not happen. If I do the QI.skeleton posing this results. The series of poses do lower the skeleton, which are part of a defense. Could it be since bones are done on gpu, frustrum is not done based on being slightly crouched? It does look really weird.
  15. Hi, What I am trying to do here is a bit too complex to simulate it in a playground. I hope i can explain it. I have a mesh that was build from raw vertices and polygon data. I have added the bones weights and indices. I am sure these two arrays are fine, they come from the same original model as the vertices and polygons. I have checked this too. // The code to add the indices and weights to the mesh base_model.mesh.setVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind, base_model.bonesIndices, true); base_model.mesh.setVerticesData(BABYLON.VertexBuffer.MatricesWeightsKind, base_model.bonesWeights, true); I then load a skeleton - also from the same origin, so the bones indices match those in the indices array. The skeleton is attached to the mesh. When I rotate bone #0, the entire mesh rotates accordingly. No surprises there, and to me this is proof that the weights and indices are effective. when I scale the bones, parts of the body also scale. Now, when I rotate bone#1- upper leg -, nothing at all happens. And nor does rotating the other bones have any effect. //The rotation command I use: rig.bones[1].rotate(BABYLON.Axis.X, .01, BABYLON.Space.WORLD, base_model.mesh); screenshot #1: you can see the bone rotates, but the mesh does nothing. screenshot #2: this is the original model, that does rotate the leg with the bone. screenshot #3: rotating bone #0 rotates the entire model. I know I am doing something strange here, but I assure you it is necessary to the application I am working on. I hope any of you have some suggestions where to look for an answer.
  16. Hey there! Catacomb Chaos is an endless action arcade game where you try to survive against unrelenting waves of skeletons. You can loot gold and purchase potions for your next life. Let me know what you think! Play here: https://sambrosia.gitlab.io/catacomb-chaos/ I learned some neat stuff making this. Engine design, ECS, and steering behaviors are some of the cooler things I experimented with for the making of this game.
  17. Hi all, I've been wondering, a mesh like "the dude" seems to be using a single skeleton(so you only have to call beginAnimation Once), but he is made up of several meshes, When i export meshes to babylon, the "main" mesh is exported with the entire skeleton(all bones), and children meshes are each exported with their own version of the skeleton (containing only the bones that mesh use), So i have to call beginAnimation for each mesh/child mesh. If i point the child meshes skeletons to the main mesh's skeleton (mesh.skeleton = mainMesh.skeleton), which also contains the bones the child mesh uses, and then beginAnimation, the child mesh is either spagetti, or just not animated properly, So my question, How is it achieved to use the same skeleton? using 3DS Max 2016, exporter 0.8.0, (also tried an older exporter, same result) Cheers
  18. I made an example of how you can mimic a skeleton/bodyparts using LockConstraints in P2 physics. I thought it might be useful to share it/ add to the Phaser examples , for people looking for ways to use joints/ lock constraints in their game. here is the example: http://54.87.189.59/example3/ The sprites I used are from my own game, but you could very well replace it with any other sprites... In the code I also explained how it works.
  19. I was wondering if it's possible, and if yes, then how, to get more responsive movement when using getPositionToRef to attach a mesh to a bone assigned to some skeleton from an imported model. I think it's the same when using attachToBone. http://www.babylonjs-playground.com/#1N9CSW#2 The position and rotation of bone #6 (right hand) is used to position the sphere. Imagine it was a sword or a gun. Try moving the camera around, and notice the movement of the sphere. It seems to be a little behind, and not as crisp as one would have hoped for. Am I missing something here?
  20. Hi to all. There really isn't any issue here; as exporting animations to babylon from blender works fine, except for the "4 bone influencers per vertex" limitation. I understand that it is a browser thing: http://www.html5gamedevs.com/topic/10772-blender-export-issues/ http://www.html5gamedevs.com/topic/9560-rigging-rigify-blender-export-babylon/ My question is sort of strange, but I'll ask it anyways. I have no idea how to rig following this limitation in blender. How would one go about ensuring that this limit is not exceeded? Sure importing a MakeHUman model with the gaming rig, 32 bones I think, enabled would work, but when of the times when one is not rigging humanoid characters? Like sea monsters? Or giant insects? or something like that? And even if one is rigging a humanoid character, what of when the MH rig just doesn't do what you'd want and you have to do your own rig? So how would one make rigs ensuring that that limit is not exceeded? Any pointers on how to go about this would be appreciated. I also have one other question, would it possible to have babylon.js come with something like a visual editor for rigging? You import your static models and then rig them using it; it should guide the rigging process so that this "4 bone influencers per vertex" thing is not exceeded. (Please don't tell me to build it myself! ; at least not now!) Those are my questions. I attached a picture showing what happens when the limit is exceeded; the animation works but some areas are invisible. Other rigs I did did not show at all once exported to the .babylon format. Thanks in advance.
  21. This is an issue I've had with multiple models. http://www.babylonjs-playground.com/#4CVUS#2 See how some vertex or maybe a bone has points attached to the camera? The issue seems to be with the skeleton, as removing this and the skin modifier seems to remove the issue: http://www.babylonjs-playground.com/#4CVUS#3 I'm using 3Ds Max 2015 and the Babylon.js Exporter. When uploading the file to Claro.io, the mesh and skeleton are both intact, but exporting to .babylon somehow removes the skeleton aswell. As far as I know, Clara.io uses the Blender exporter, but that's no success either. I was just wondering if anyone else has had this issue, and if yes, then maybe know a fix or a way around. Attached is the .max file for reference. simple.max
  22. Here's the deal, I'm importing a model with skeleton, bones, animations etc. I assign the model (Index 0) and the skeleton (index 0) global variables. Then, outside of Babylon's native import function, I clone the model and the skeleton, and run animation (from frames) just fine. The problem is, when I try to manually manipulate bones using their getters and setters, somehow, rotating 1 bone from 1 clone of the original, also rotates the bones of all other clones, as well as the original. Changing the names and ID's of bones doesn't seem to help, either. Soo. Is there any way of cloning bones? no clone function exists, and I'm unsure of how to approach this. I'll see if I can create a simple PG, as the project is pretty complex by now. As I mentioned, I can run different animations on the different skeletons without any issues. But as soon as I manually rotate bones, all clones + original are all affected.
  23. Is it possible to show the skeleton/bones of an imported mesh? I don't mean lines and debugging layers, but actually rendering the bones themselves, so they won't stay hidden. Is this a possibility, or simply not a feature? PG example, because why not: http://www.babylonjs-playground.com/#1SJMJ0
  24. I'd like to be able to choose whether to use or ignore a skeleton, assuming ignoring a skeleton will improve the performance. (each bone reduces the performance as far as I understand, even when no animation is played) The purpose is to use the skeleton during the model's animation, and ignore it when no animation is played. Is such a thing possible? Will it improve the performance or is it already optimized in bjs core?
  25. In a blender scene one of the character meshes has an armature with an animation. After exporting to a .babylon file and loading it, if the character with the skeleton armature is visible when the scene starts , the animation plays and the scene works as normal, If the camera is facing away from the animated character when the scene starts this error occurs Uncaught TypeError: Failed to execute 'uniformMatrix4fv' on 'WebGLRenderingContext' : No function was found that matched the signature provided.(using nw.js based on Chromium 41.0.2272.76.) This is how the scene is loaded BABYLON.SceneLoader.Load("", "TheBlenderScene.babylon", engine, function (newScene) { newScene.executeWhenReady(function () {It's happened in 3 projects, my current workaround has been to include all the animated meshes in the view when the game starts. Has any one else has had this problem, or have an idea of how to avoid the error? thanks