• Content Count

  • Joined

  • Last visited

Everything posted by MrVR

  1. Awesome @MackeyK24 , I will get the new version in a few hours to start the baking test. For the controller support I can detect all the inputs in the HTML5-Game-Pad website for testing game-pads, maybe this way is easier to map the user input below is an image took when I press almost all the buttons on my game pad. Maybe I can use this class I found at the babylon.d.ts to map all the inputs. class Xbox360Pad extends Gamepad { private _leftTrigger; private _rightTrigger; private _onlefttriggerchanged; private _onrighttriggerchanged; private _onbuttondown; private _onbuttonup; private _ondpaddown; private _ondpadup; private _buttonA; private _buttonB; private _buttonX; private _buttonY; private _buttonBack; private _buttonStart; private _buttonLB; private _buttonRB; private _buttonLeftStick; private _buttonRightStick; private _dPadUp; private _dPadDown; private _dPadLeft; private _dPadRight; private _isXboxOnePad; constructor(id: string, index: number, gamepad: any, xboxOne?: boolean); onlefttriggerchanged(callback: (value: number) => void): void; onrighttriggerchanged(callback: (value: number) => void): void; leftTrigger: number; rightTrigger: number; onbuttondown(callback: (buttonPressed: Xbox360Button) => void): void; onbuttonup(callback: (buttonReleased: Xbox360Button) => void): void; ondpaddown(callback: (dPadPressed: Xbox360Dpad) => void): void; ondpadup(callback: (dPadReleased: Xbox360Dpad) => void): void; private _setButtonValue(newValue, currentValue, buttonType); private _setDPadValue(newValue, currentValue, buttonType); buttonA: number; buttonB: number; buttonX: number; buttonY: number; buttonStart: number; buttonBack: number; buttonLB: number; buttonRB: number; buttonLeftStick: number; buttonRightStick: number; dPadUp: number; dPadDown: number; dPadLeft: number; dPadRight: number; update(): void; } }
  2. Nice I will try that, so far I was able to clean all error its all working fine as the videos you post, today I - Make the cube rotate with the Mesh controller, - Dim the light with a light controller controller using different light factors to change the intensity - Attached particles to the cube they work amazing see image blelow - Camera controller works but is not accurate when I use my game-pad STRATUS XL SteelSeries game-pad, I guess I have to create a class to maps all the axis input from the controller. FOR TOMORROW - I will test other features such as light baking , flare system, terrain export. etc. - then I will try to export some characters I have already rigged with animations and figure how to make them work in Babylon, I have a c# class to move a shark I will play with this tomorrow using UnityEngine; using System.Collections; public class SharkMovement : MonoBehaviour { private float m_moveSpeed = 5.0f; private float n_moveSpeed = 30f; private float moveSpeed = 0.5f; private Animator animator; void Start() { animator = this.GetComponent<Animator>(); } void Update () { if (Input.GetKey("i")) { moveFast(); } else if (Input.GetKey("j")) { moveLeft(); } else if (Input.GetKey("l")) { moveRight(); } else if (Input.GetKey("o")) { moveUp(); } else if (Input.GetKey("p")) { moveDown(); } else if (Input.GetKey("k")) { moveAttack1(); } else if (Input.GetKey("m")) { moveAttack2(); } else if (Input.GetKey("n")) { moveAttack3(); } else { moveSlow(); } } public void moveFast() { transform.Translate(0.0f, 0.0f, +m_moveSpeed * Time.deltaTime); { animator.CrossFade("FastSwim", 0.2f); } } public void moveSlow() { transform.Translate(0.0f, 0.0f, moveSpeed * Time.deltaTime); { animator.CrossFade("SlowSwim", 0.2f); } } public void moveRight() { transform.RotateAround(transform.position+(transform.right*2), Vector3.up, Time.deltaTime * n_moveSpeed); { animator.CrossFade("RT", 0.2f); } } public void moveLeft() { transform.RotateAround(transform.position-(transform.right*2), Vector3.down, Time.deltaTime * n_moveSpeed); { animator.CrossFade("LT", 0.2f); } } public void moveUp() { transform.Rotate (Vector3.right * Time.deltaTime * -m_moveSpeed); { animator.CrossFade("DiveOut", 0.2f); } } public void moveDown() { transform.Rotate (Vector3.left * Time.deltaTime * -m_moveSpeed); { animator.CrossFade("DiveIn", 0.2f); } } public void moveAttack1() { transform.Translate(0.0f, 0.0f, +m_moveSpeed * Time.deltaTime); { animator.CrossFade("Attack1", 0.2f); } } public void moveAttack2() { transform.Translate(0.0f, 0.0f, +m_moveSpeed * Time.deltaTime); { animator.CrossFade("Attack2", 0.2f); } } public void moveAttack3() { transform.Translate(0.0f, 0.0f, +m_moveSpeed * Time.deltaTime); { animator.CrossFade("Attack3", 0.2f); } } } HERE is a VR version for the phone using the particles on the box I have to put the libraries (cannon, physics, etc) on my distribution copy. but I will test more tomorrow
  3. OK yes I forgot to mention that I had issues when exporting cause the web-server did not start but I use the button then it work
  4. Yes I saw that feature is great way to keep the version updated. great, I'm going recreate the things you did on the videos and I will post back my results.
  5. @MackeyK24 I get the error below after I start the first project but I solve this closing the tabs scene and game and then ctrl + 1 and ctrl + 2 to put them back game and scene I also have to update my tsc and node paths to windows type , I have win 10 version now all works Im constructing the first scene controller as we speak
  6. Hi @MackeyK24 , I did download the new PR last night, I was able to create a small scene and get rid of a couple of compiling errors due to the 'scene' and 'game' tabs but once I close them up and bring them back, the compiling error goes away, and also I have to installed the TSC compiler and get the right reference path and nodejs path, for the configuration scene but I still trying to get it all working like in the video, I'm going work and the videos I will report progress later today. and Thanks again ....
  7. No problem @MackeyK24 I'm glad the research info was useful , I'm currently testing the PR along with your videos. I will post my comments later when I'm done going trough the features.
  8. OMG... Merry Christmas to us @MackeyK24 ... Good luck with your projects, my offer still there if you need it. Thank you so much for working hard on this I hope is release soon @Deltakosh.. congrats guys you are awesome !!! Here is a little time line menu help for the video - Minute 00:00 Toolkit Setup - Minute 03:20 Editor windows Setup - Minute 07:30 Web Server Start - Minute 09:00 Enabling User input - Minute 16:00 Camera Component - Minute 20:00 Camera Component User Input - Minute 28:00 Mesh Component - Minute 33:30 Light Component
  9. that sounds amazing @MackeyK24 enjoy it suludos from Florida
  10. HI @MackeyK24 The info below explain pretty well how the baking is done by unity, the document below explains the global illumination options (so many options, I'm not sure if this is what you looking for) Lightmap resolution and padding Ambient Occlusion Indirect Intensity ... This is pretty much how a simple scene with a plane, cube, and directional light looks without any lighting baked in. Default Unity scene with a plane and a cube In order to bake your lighting information into a light-map you need to tell Unity at least two things. Which light is going to have its information baked in, and which objects are going to remain static in the scene. Step 1: Mark your objects as static Object set to static Step 2: Set your scene light to baked instead of realtime Lighting baking mode set to baked Finally, with Baked GI checked in the Lighting tab you should see the lighting baked into this little testing scene. In the bottom right of the lighting tab you will see how many lightmaps have been baked, at what resolution, and what the file size of the lightmap(s) is. Now that the basics are out of the way, let’s look at some of the knobs, dials, and options that can give us some control over this. Simple scene set up to bake lightmaps Lightmapping custom objects with ‘Generate Lightmap UVs’ A 3D object can have several UV channels. Normally, objects store their texture location information into the UV0 channel. By default, Unity will bake lighting information using the UV0 channel which usually does not give desirable results if you have overlapping UVs. With a 3D package such as Maya or 3ds Max you can create a set of UVs in the UV1 channel that Unity will reference when baking lighting information. You can also have Unity automatically generate information in the UV1 channel by checking the ‘Generate Lightmap UVs’ box in the .fbx importer settings. Generate Lightmap UVs On non-organic objects it’s pretty useful to generate these lightmap UVs automatically. On organic objects I recommend creating a custom UV1 channel as the automatically generated results usually put the lightmap seams in rather visible places. Continuous/Auto Baking This is a checkbox that can be found at the bottom of the Lighting panel. When left on, any changes in the scene or in the lighting settings will automatically be calculated in the background as you continue working. Unless you have a beast of a machine or working on a really small scene, I recommend you leave this off and only Build your lightmaps when you need to. Additionally, when manually baking lightmaps Unity will store the lightmaps in a folder with the same name as your scene in same folder as your scene. Continuous/auto baking Baked Global Illumination settings Lightmap resolution and padding The way to increase the resolution in your lightmaps is to increase the texels (texture pixels) per unit in your lightmap, higher values will create larger maps. If you notice that some of the light information starts to blend or bleed into the wrong surfaces of your objects you can try increasing the padding so that there will be more space on the lightmap between the UV islands. If you notice compression artifacts on gradients you can try unchecking ‘Compressed’ at the expense of lightmap file size. Lastly, the indirect resolution will determine the resolution of the bounce light in texels per unit. As you may notice from the images below, pushing this value much further past 2 did not have much of a noticeable effect. Indirect resolution at close to 0 Indirect lighting at 2 Indirect lighting at 4 Ambient Occlusion To make your objects feel more grounded in the environment it is common to add what is called ambient occlusion. Ambient occlusion is basically a phenomenon where areas appear darker when surfaces get close to each other. The Ambient Occlusion value in the Lighting tab determines the intensity of this effect and the ‘Max Distance’ is the distance along the surface after which this effect is no longer visible. The cube I used for the examples below is 1 cubic unit. With a max distance of 0.5, the falloff of this effect therefore travels halfway up this cube. With an Ambient Occlusion intensity of 5 it now becomes pretty clear how this works. No Baked GI, no Ambient Occlusion Baked GI, Ambient Occlusion at 1 with Max Distance at 1 Baked GI, Ambient Occlusion at 5, Max Distance at 0.5 Final Gather As for the last option in the Baked GI section of the Lighting tab. I’m not quite sure what kind of noticeable added benefit Final Gather has to justify the extra baking time but if someone is out there that knows and can show me, then that would be great. General Global Illumination settings This section in Unity’s lighting tab contains settings shared between precomputed realtime GI and baked GI. I’m not going into the directional mode as it’s pretty well explained in this blog post on the Unity forum: Further along in the Lighting tab, Unity’s tooltips can shed some light on what Indirect Intensity and Bounce Boost do exactly. Indirect Intensity Indirect Intensity tooltip Bounce Boost Bounce Boost tooltip The Default Parameters in Unity’s Lighting tab affect the quality of the bake. I usually set this to ‘Default-VeryLowResolution’ in the initial stages of of the baking process in order to make me aware of problems sooner without having to wait very long for a bake to finish. Then, when I’m reasonably certain there are no big lighting problems, I set the Default Parameters to higher resolutions. Atlas size This value determines the dimensions of the lightmap in pixels. When using large surfaces such as floors or ceilings you may notice that an atlas size of 1024 probably isn’t enough. In this case you could cut up your mesh so that the lightmap can be distributed over more texture maps. Another option is to increase the atlas size of your lightmap so that there is more space to put the information onto. Try to keep your target platform in mind when considering very large texture maps. Something you might encounter is that when dialing the Atlas Size up to 4096 or higher is that the Lighting tab will still say the lightmap is set to 2048px. This will occur when you manually initiate your lightmap bake and the lightmap will appear in your project as a texture. The texture import settings of the lightmap will be set to 2048px by default. Change this to this to the Atlas Size you entered and you are good to go. Atlas Size set to 4096 with continuous baking disabled. Manually punch in the Max Size of the texture Tips and tricks Advanced Generate Lightmap UVs This section in the FBX import settings allows you to determine how the UV1 channel for that object is automatically generated. This can be useful for problems in automatically generating UVs for objects that don’t have perfect 90 degree angles. Generate Lightmap UVs Advanced options Preview Texel Density In the top left of your scene view you can find a dropdown that allows you to change how you see the scene. In the bottom of this dropdown you can find preview options for Global Illumination. The last option in that list should say ‘Baked’. This allows you to preview the texel resolution of your lightmap. Smaller squares represent more resolution in texels per unit in your lightmap. Preview Texel Density Scale in Lightmap In the Lighting tab, under the Object section, you can find object specific lighting settings. One of which is the ‘Scale In Lightmap’. This value determines how much space this object will take up in your lightmap. Combined with the Texel Density Preview, you can see how this translates in resolution when you hit that bake button. This can be useful when determining the Scale In Lightmap to make the most use out of your lightmap textures for static objects at various distances from the camera. Scale In Lightmap Bake only an object’s shadow Sometimes it is useful for an object to cast a shadow in the lightmap, but not to receive any lightmap information itself. When this is the case you can set the ‘Scale In Lightmap’ to 0. Scale In Lightmap set to 0 This object will still be influenced by lightprobes if this is enabled in the object’s Mesh Renderer component. One of the benefits I found using this for is parked cars. Due to the details and curved nature of the cars in one of our scenes it became pretty costly to get a good result out of baking these objects. The solution was to not bake the cars but just their shadows and ambient occlusion. No lightmap, casting shadows, affected by lightprobes Consider which lights to bake and which to keep realtime and when As of this writing, the Mixed Shadows setting on lights is not yet working as it should in Unity 5.0. The Mixed Shadows setting normally allows for baking lights into an environment while also supporting near lights to cast realtime shadows. This is great in cases where, for example, a character walks past a light and casts pretty shadows while having ambient occlusion and environment shadows baked in to be enjoyed at larger distances from the camera. Unity is aware of the Mixed Shadows issue and I can’t wait for it to be fixed. In the meanwhile, we would still like to have realtime shadows in our game. One way to do it is to only have the important lights cast the shadows you need in an environment. Manually mixing realtime and baked lighting Hopefully you got something useful out of this blog and perhaps it helps you either get started with lightbaking in Unity or maybe it expands on what you already knew. Regardless, If you want to follow up with some questions or you have a trick or two to teach me about Unity then you can always hook me up on Twitter @tinovdk. Consider sharing this with people that can benefit from it. Thank you for reading through to the end. ^^ ~ I took this from
  11. Hello @MackeyK24, Base on a recent research I made, light map baking is data structure storage where light data of a surface is cache on a texture map, (please correct me if i'm wrong), so the properties for fully baking we should store Lighting Diffuse color Specular color Reflections Shadows Ambient color Self-illumination color Refractions For light maps I have seen options such render shadows or not, direct light or indirect light (with specular or not and from 3Ds- max options), that may help to create the class, also found more information from unity manual with all the light maps parameters that are support below I post link and the table. Please let me know if this information is helpful , other wise please point me in the right direction to help you better, COMPLETE GUIDE OF OPTIONS Property: Function: Precomputed Realtime GI Resolution This value scales the Realtime Resolution value in the Scene tab to give the final resolution of the lightmap in texels per unit of distance. Cluster Resolution The ratio of the “cluster” resolution (ie, the resolution to which the light bounces are calculated internally) to the final lightmap resolution. Irradiance Budget This value determines the precision with which incoming light data is used to light each texel in the lightmap. Essentially, each texel’s lighting is obtained by taking a “view” of the scene from its position (ie, recording the pattern of incoming light). Lower values of irradiance budget will result in a more blurred view that measures the pattern of light less precisely; higher values increase the sharpness of the view. A higher irradiance budget will improve the lighting but at the expense of increased memory usage and possibly some extra CPU overhead. Irradiance Quality The quality of the transfer of internal light bounce data to the final lightmap texture. Higher values offer visual improvements in the lightmap but at the expense of increased precomputing time in the editor; the value does not affect runtime performance. This property actually refers to the number of rays that are used internally to evaluate the internal data for each lightmap texel. Backface Tolerance The structure of a mesh can sometimes cause some texels to have a “view” that includes backfaces. Since incoming light from a backface is meaningless, this property lets you select a percentage threshold of that light that must come from front facing geometry in order for a texel to be considered valid. Invalid texels have their lighting approximated from neighbours’ values. Modelling Tolerance The maximum size of gaps in mesh geometry that can be ignored for GI purposes. Edge Stitching If enabled, this property indicates that UV “charts” in the lightmap should be joined together seamlessly so as to avoid visual artifacts. Is Transparent If enabled, the object will appear transparent during the Global Illumination calculations. Backfaces are not contributing and light travels through the surface. This is useful for emissive invisible surfaces. System Tag A group of objects whose lightmap textures are combined in the same lightmap atlas is known as a “system”. Unity will automatically define additional systems and their accompanying atlases if all the lightmaps can’t be fitted into a single atlas. However, it is sometimes useful to define separate systems yourself, to create dynamically loaded levels, say. By changing the System Tag number, you will force a new system and lightmap to be created. The exact numeric sequence values of the tag are not significant. Baked GI Blur Radius The radius (in texels) of the blur filter that is applied to direct lighting during postprocessing. The radius is essentially the distance over which neighbouring texels are averaged out; a larger radius gives a more blurred effect. Higher levels of blur tend to reduce visual artifacts but also soften the edges of shadows. Antialiasing Samples The degree of antialiasing (ie, reduction of “blocky” texel artifacts) that is applied. Direct Light Quality The number of rays used to evaluate direct lighting. A higher number of rays tends to produce more accurate soft shadows. Baked Tag Similar to the System Tag property described above, this number lets you group specific sets of objects together in their own baked lightmaps. As with the System Tag, the exact numeric value is not significant; objects use the same baked lightmap if they have the same Baked Tag value. You don’t have to set this when using the multi scene bake API; grouping is done automatically. Pushoff The amount to push off geometry for ray tracing, in modelling units. It is applied to all baked lightmaps, so it will affect direct light, indirect light and AO. It is useful for getting rid of unwanted AO or shadowing. It can also be used to remove artefacts on huge objects where floating point precision isn’t high enough to accurately ray trace. Baked AO Quality The number of rays that are cast when evaluating ambient occlusion (AO). Higher numbers of rays increase the AO quality. Antialiasing Samples The degree of antialiasing (ie, reduction of “blocky” texel artifacts) that is applied. Bake Global bake settings. Property: Function: Mode Controls both offline lightmap baking and runtime lightmap rendering modes. In Dual Lightmaps mode both near and far lightmaps will be baked; only deferred rendering path supports rendering dual lightmaps. Single Lightmaps mode results in only the far lightmap being baked; can also be used to force single lightmaps mode for the deferred rendering path. Use in forward rendering (Dual lightmaps only) Enables dual lightmaps in forward rendering. Note that this will require you to create your own shaders for the purpose. Quality Presets for high (good-looking) and low (but fast) quality bakes. They affect the number of final gather rays, contrast threshold and some other final gather and anti-aliasing settings. Bounces The number of light bounces in the Global Illumination simulation. At least one bounce is needed to give a soft, realistic indirect lighting. 0 means only direct light will be computed. Sky Light Color Sky light simulates light emitted from the sky from all the directions - great for outdoor scenes. Sky Light Intensity The intensity of the sky light - a value of 0 disables the sky light. Bounce Boost Allows to exaggerate light bouncing in dark scenes. If a scene is authored with dark materials, it’s easy to compensate with strong direct lighting. Indirect lighting will be very subtle though, as the bounced light will fade out quickly. Setting bounce boost to a value larger than 1 will compensate for this by pushing the albedo color towards 1 for GI computations. Note that values between 0 and 1 will decrease the light bounce. The actual computation taking place is a per component pow(colorComponent, (1.0/bounceBoost)). Bounce Intensity A multiplier to the intensity of the indirect light. Final Gather Rays The number of rays shot from every final gather point - higher values give better quality. Contrast Threshold The threshold above which new final gather points will be created by the adaptive sampling algorithm. Higher values make Beast be more tolerant about illumination changes on the surface, thus producing smoother but less-detailed lightmaps. A low number of final gather rays gives noise, which is local contrast. It might need higher contrast threshold values not to force additional final gather points to be created. Interpolation Controls the way the color from final gather points will be interpolated. 0 for linear interpolation, 1 for advanced, gradient-based interpolation. In some cases the latter might introduce artifacts. Interpolation Points The number of final gather points to interpolate between. Higher values give more smooth results, but can also smooth out details in the lighting. Ambient Occlusion The amount of ambient occlusion to be baked into the lightmaps. Ambient occlusion is the visibility function integrated over the local hemisphere of size Max Distance, so doesn’t take into account any lighting information. Lock Atlas When Lock Atlas is enabled, automatic atlasing won’t be run and lightmap index, tiling and offset on the objects won’t be modified. Resolution The resolution of the lightmaps in texels per world unit. A value of 50 and a 10x10 unit plane will result in the plane occupying 500x500 texels in the lightmap. Padding The space between individual objects in the atlas, given in texels. ~ Ref : ~ Ref : ~ Ref: unity
  12. Sure @MackeyK24 I will, I saw your videos like three time already so I think I have a pretty good Idea how all works, thanks again man for that awesome work, I cant wait to put my hands on your code., if you need any type of help you can PM me, I have lots of spare time and Im willing to put it here
  13. Thanks, I cant wait for the release. With the current exporter I can export the scenes but the animations are not being exported for me maybe Im doing something wrong, I have been trying to replicate your work @MackeyK24 on your video ( on the minute 19 you explain the Exporter metadata and serialization that you are using to get the rest of the properties from unity into Babylon format if I'm not mistaken; I'm trying to get the animations that I wrote in C# to Babylon here are my unity/babylon scenes , if you can please point me in the right direction I would appreciated other wise I will wait for the release. Thanks for your work, i really hope i can contribute soon on this, but I still a newbie learning.
  14. Hey @MackeyK24 nice game three levels, did you made it all in unity and then exported ready like that with no code in babylon?
  15. Nice @MackeyK24 this is crazy amazing jajaja, hey do you have any idea or an estimate date for the release of the API?
  16. Hey very nice @MackeyK24 I cant wait for you to release the API, You mention larger games, I was planning on using a task Runner like GULP and Angularjs to create one scene per module or page, this approach allow me to minified the code and some other good stuff to compress the app with gulp and manage files with angular template system, I was planning to make a video as well in how I use this tools to manage large amount files, it also allow you to create an user interface per scene etc.... But I have many problems with the current unity exporter, especially when I apply animations to the characters they get deformations on the mesh with motion lol, anyways man I'm a newbie too, thank you for taking the time to share.
  17. @MackeyK24 Nice going adding the component approach,This will make it easy on building large and scalable applications, it would be nice to add a browser-sync dependency so you can test mobile devices at the same time in different browsers . Is there a limit in the amount of components that can be loaded into an scene or you can keep stacking component after component with out compromising loading time and performance? Thank you. The videos are very helpful, makes babylonjs easier to manage with the api.
  18. Congrats @MackeyK24 these features on the exporter are amazing really amazing, all the work done with out a line of code!!
  19. @willeastcott So what this means compare with babylonjs, it looks amazing, can this be achieved in babylon js?
  20. Thanks Mr. Palmer, I see what you mean, I have a pluging ,animationJointer, that merge animated objects into only one mesh, then I want to animated by a mesh cache modifier and a .pc2 file (I have not figure this part yet), this has the option to create keyframes. or just the pc2 file, I have no experiment further yet but this another option to consider review, it worked in beld4web after baking it with their SDK and it produces the b4w json/bin files,I deployed it and it worked , the plugin creates a one single mesh with keyframes, then , baking the mesh but no going over 200 frames more or less before the blender crashes , too many frames . what do you think? may be with the keyframes created by this tool is it possible to reproduce the animation in BSJ? below the keyframes created and the close up of the plugin.
  21. Hi , thanks for the reply Mr Palmer, if you see the pictures there are many ways to do it and many ways to export the FBX , (alembic) files; I was just looking for the right options setup (3ds Max export or unity export type..), I provided links and pictures to show that the vertex cache animation works in other sdk's and platforms (Play-canvas and Blend4Web) but not in BJS; I will keep trying and see how it goes and can you please provide a link for this ,Key Finger Test Scene , so I can understand better your answer. thank you
  22. Thanks @gryff I just purchase the babylonjs book along with the sample codes, But I still have to go through it to see if I find a solution, anyways thanks for the link I will definitely check this today or tomorrow but this weekend I will put all my effort to solve it, let me tell you alembic is very nice type of file you can pack lots of stuff (cameras, mesh, lights etc...) in one file , I jsut import it in blender and the animations are very nice since I use motion capture.
  23. Hi @Temechon How are you,.I purchase the babylon.js  book and the code samples so please point me in the book how I do this je je , by the way thanks for making book for your help in advance.

    ABOUT ME : Im a javascript programmer with experience in angular and js framework, but I'm new to blender and the 3D World (1 month using blender), I love babylon it's all in javascript.

    I have been working with many 3D SDK's and platforms, but all comes to the same problem, animation issues.

    I try Blend4Web but they want $999 for the technical support and there is little info about sample code, but they have an addon that exports JSON/Bin files  and if I bake every single mesh animation it will work but I think it crashes blender after baking 10 parts of the mesh a 720 frames each.



    then I try Play-Canvas (adult content) , it has VR camera ready and you can upload FBX files, so what I use to do is to Upload an FBX files for the mesh and another FBX with mesh and animations,  I delete it all in the one with the animation  and I use the just animation combined with the FBX with no animation and it works, but the platform is that it do not  accept may polygons meshes and you have to decimate making this more difficult and time consuming but works.

    I would like to try the previous method in blender but I dont know how can I combine the FBX files with the animation exported in a separate FBX in blender, so I can repeat this process on playcanvas .

    MY METHOD SO FAR so I also I import an alembic file

    Finally I created a .babylon file using alembics with cache vertex animation, , 


    here is information links for my files 


     it possible to do it with an vertex animation cache , meaning with out bones like an alembic file, I import the file into blender the animation plays well but I try the animated and its no working

    I created a .babylon file and added the animation attributes, e.g.' autoAnimate ... ' see below, then I drop the file in the sandbox

        "autoAnimate": true,
        "autoAnimateFrom": 0,
        "autoAnimateTo": 50,
        "autoAnimateLoop": true

    I tried before CTRL + A and add location, rotation, scale, and it worked on a simple animation

    I repeat the same with my files and it does not work :( 


    the files are big so please download it from this links the first one is the alembic the other ones are FBX and a BVH to capture the animation and also below I put pictures of my export options and the cube babylon code animated ready , ,


  24. I leave you with a preview of my PROJECT in play-canvas (P.S. adult content) , I drooped it because it was too difficult and slow to load files. Then I tried Bend4web PROJECT , please be patience this one open some times slow, so leave it open and check it out later . I'm planning to use the files from these other SDK's because they are JSON format and similar , Blend4web uses json/bin two files, and play canvas fbx and json animation, also here is a plugin where you can create a one mesh animation and a .PC2 file . Thanks for all your help !!! attached below the json file and here is the link for the binary if someone is interested JSON files compare FROM B4W and BABY gingerBreadMan.json
  25. HI @gryff nice post, but is it possible to do it with an vertex animation cache , meaning with out bones like an alembic file, I import the file into blender the animation plays well but I try the animated and its no working I created a .babylon file and added the animation attributes, e.g.' autoAnimate ... ' see below, then I drop the file in the sandbox I tried before CTRL + A and add location, rotation, scale, and it worked I repeat the same with my files and it does not work "autoAnimate": true, "autoAnimateFrom": 0, "autoAnimateTo": 50, "autoAnimateLoop": true the files are big so please download it from this links the first one is the alembic the other ones are FBX and a BVH to capture the animation and also below I put pictures of my export options and the cube babylon code animated ready , ,, The cube code {"producer":{"name":"Blender","version":"2.78 (sub 0)","exporter_version":"4.6.1","file":"cube.babylon"}, "autoClear":true,"clearColor":[0.0509,0.0509,0.0509],"ambientColor":[0,0,0],"gravity":[0,-9.81,0], "materials":[{"name":"cube.Material","id":"cube.Material","ambient":[0.8,0.8,0.8],"diffuse":[0.64,0.64,0.64],"specular":[0.5,0.5,0.5],"emissive":[0,0,0],"specularPower":50,"alpha":1,"backFaceCulling":true,"checkReadyOnlyOnce":false}], "multiMaterials":[], "skeletons":[], "meshes":[{"name":"Cube","id":"Cube","materialId":"cube.Material","billboardMode":0,"position":[0,0,0],"rotation":[0,-1.4905,0],"scaling":[1,1,1],"isVisible":true,"freezeWorldMatrix":false,"isEnabled":true,"checkCollisions":false,"receiveShadows":false ,"positions":[1.1265,-1,-0.855,-1.1265,-1,0.855,0.855,-1,1.1265,-1.1265,1,0.855,1.1265,1,-0.855,0.855,1,1.1265,-0.855,-1,-1.1265,-0.855,1,-1.1265] ,"normals":[0.6503,-0.5773,-0.4936,-0.6503,-0.5773,0.4936,0.4936,-0.5773,0.6503,-0.6503,0.5773,0.4936,0.6503,0.5773,-0.4936,0.4936,0.5773,0.6503,-0.4936,-0.5773,-0.6503,-0.4936,0.5773,-0.6503] ,"indices":[0,1,2,3,4,5,5,0,2,4,6,0,6,3,1,2,3,5,0,6,1,3,7,4,5,4,0,4,7,6,6,7,3,2,1,3] ,"subMeshes":[{"materialIndex":0,"verticesStart":0,"verticesCount":8,"indexStart":0,"indexCount":36}], "autoAnimate": true, "autoAnimateFrom": 0, "autoAnimateTo": 50, "autoAnimateLoop": true ,"animations":[{"dataType":1,"framePerSecond":24,"keys":[ {"frame":7,"values":[0,-0.1361,0]}, {"frame":83,"values":[0,4.7927,0]}],"loopBehavior":1,"name":"rotation animation","property":"rotation"},{"dataType":1,"framePerSecond":24,"keys":[ {"frame":7,"values":[0,0,0]}, {"frame":83,"values":[0,0,0]}],"loopBehavior":1,"name":"position animation","property":"position"},{"dataType":1,"framePerSecond":24,"keys":[ {"frame":7,"values":[1,1,1]}, {"frame":83,"values":[1,1,1]}],"loopBehavior":1,"name":"scaling animation","property":"scaling"}],"ranges":[{"name":"CubeAction","from":0,"to":83}] ,"instances":[]} ], "cameras":[{"name":"Camera","id":"Camera","position":[7.4811,5.3437,-6.5076],"rotation":[0.4615,-0.8149,0],"fov":0.8576,"minZ":0.1,"maxZ":100,"speed":1,"inertia":0.9,"checkCollisions":false,"applyGravity":false,"ellipsoid":[0.2,0.9,0.2],"cameraRigMode":0,"interaxial_distance":0.0637,"type":"FreeCamera"}],"activeCamera":"Camera", "lights":[{"name":"Lamp","id":"Lamp","type":0,"position":[4.0762,5.9039,1.0055],"intensity":1,"diffuse":[1,1,1],"specular":[1,1,1]}], "shadowGenerators":[] }