All Activity

This stream auto-updates     

  1. Past hour
  2. Mirrored UV's

    @RelativeNull : thanks for the .blend file:) Now I'm trying to figure out what you mean by " you don't take into account mirrored UV " and what you see as the problem? Here is your character Jack that I exported from Blender but I changed one of the textures to have a green number 2 on the chest. (See image below) Jack Walk towards the character - the image is mirrored. nicely. (I suspect the body and face meshes were created using the mirror modifier. If you don't want the the textures to be mirrored you are going to have to re-uvMap the meshes.) There are other issues though with your model - meshes poking through each other, the ugly shading on parts of the mesh, bones that are not used or set up etc. cheers, gryff
  3. Stranded Hair Update

    Well goofing with normals just made a mess. But thinking about adding a material with emissive, having no material just uses the default material, so no extra harm in overriding it. I add a material with only emissive (no specular / diffuse / ambient). The color I use is 0.8 * of the base color selected. Works really good. White & Platinum Blonde were just too bright though, so I backed the values for those down a little. I also put a ceiling on a component value of the emissive to be a max of 0.5. This is starting to look production worthy. Definitely defaulting the inter-strand color spread to 0. Wondering if I even need the intra-strand spread. Am going to test that tomorrow.
  4. DXT KTX WebGL Skybox Issues

    Thanks for the clue! I think I found the problem. It looks like you cannot cascade load separate sides of a cube texture if you're using a compressed texture format. I followed the call stack from my line "var skyboxTexture = new BABYLON.CubeTexture("textures/skybox/gradient-sky/SkyGradient", scene);". Not using a compressed texture format leads to Engine.prototype.createCubeTexture, and the function call cascadeLoad at line 10578 below. Using a ktx texture format leads to Engine.prototype.createCubeTexture, and the function call BABYLON.Tools.LoadFile at line 10535 below. At line 10528 the rootUrl is changed to the engine.textureFormatInUse, which is "-dxt.ktx". Then BJS tries to load a file "-dxt.ktx", which doesn't exist. Is there a reason you cannot load all the sides of a cube texture separately when using a compressed texture format?
  5. Blender sandbox

    Be sure to mark the topic answered. That is done by adding a "solved" tag to the first post of the topic. The first post in Question is pinned to discuss this for more.
  6. Physics Movement

    I think I get em... Is working pretty freakin awesome ... Can just use a switch in the editor inspector to say the character controller is working in 'Direct Velocity' mode which give you that Unity NON-RIGIDBODY type character movement MOST of the Tutorials will be using... Then you can always set to 'Applied Forces' mode which give the Super Mario direct change using 'Forces'... My main move functions on the Character Controller are Nice and Clean and should handle all the movement types: /* Public Character Controller Movement Functions */ public move(velocity:BABYLON.Vector3, jump:number = 0.0):void { if (this.movementType === BABYLON.MovementType.AppliedForces) { this.manager.applyForce(this.mesh, velocity, this.mesh.getAbsolutePosition()); } else { this.manager.setLinearVelocity(this.mesh, velocity); } if (jump > 0.0) { this._jumping = true; this._jumpingVelocity.copyFromFloats(0.0, jump, 0.0); this.manager.applyImpulse(this.mesh, this._jumpingVelocity, this.mesh.getAbsolutePosition()); this.updateGroundingState(); } } public rotate(x: number, y: number, z: number):void { this._angularVelocity.copyFromFloats(x, y, z); this.manager.setAngularVelocity(this.mesh, this._angularVelocity); } public friction(level:number):void { this.manager.applyFriction(this.mesh, level); } But now I got a Physics Performance Question for @Pryme8 and @fenomas ... Right now I am Assuming a TRUE grounded state... If you JUMP I set grounded to false and WAIT for a collision event and check normals at 'BOTTOM' contact... am I 'Standing' on a collider within a certain threshold ... If so... I set JUMP to FALSE and GROUNED to TRUE. protected start():void { this._jumping = false; this._falling = false; this._sliding = false; this._grounded = true; this.updateGroundingState(); this.onCollisionEvent((collider:BABYLON.AbstractMesh, tag:string) => { if (this.manager.checkCollisionContact(this.mesh, collider, BABYLON.CollisionContact.Bottom, this._threashold) === true) { this._jumping = false; this.updateGroundingState(); } if (this.onPhysicsContact != null) this.onPhysicsContact(collider, tag); }); } I would really like a 'Performant Way' on each frame to say 'Hey, am i in contact (standing on) a collider... If so IM GROUNDED... I don't want to depend on getting that collision event to say whether I am grounded or not... now I see plenty of cannon code the loops thru the word contacts BUT that seems EXPENSIVE: var upVector = new CANNON.Vec3(0, 1, 0); var contactNormal = new CANNON.Vec3(0, 0, 0); world.addEventListener("postStep", function(e) { isOnGround = false; if(world.contacts.length > 0) { for(var i = 0; i < world.contacts.length; i++) { var contact = world.contacts[i]; if( == || == { if( == {; } else {; } isOnGround = > 0.5; } } } } Is there a good way of checking by frame if I am in contact with another collider... if so I can use my same check normals to see if I'm standing (I can also check the ANGLE of the standing contact and see if I'm sliding (and velocity.y < -this.slidingVelocity)) ???
  7. How to properly dispose PolygonMeshBuilder

    since I need to change everything in it I think it is easier and better choice to create a new builder each time
  8. Pointer intersects bounding box

    Hey Delta, thanks for your reply. I was specifically looking for a way to pick using the bounding box, as the mesh I'm wanting to pick has holes in it. I want the whole area to be pickable, and using the bounding box seemed like a good way to achieve this (while also getting a nice buffer area for the pick). Thanks for the explanation regarding local space, that does make sense.
  9. It wasn't, of course. I forgot to fix the name. Huge thanks!
  10. Can't play animations

    I set the loop parameter to false and still replaying it, using isDown propertie, but with justDown (what I need), doesn't play it at all, still playing the idle (I think I didin't say this, I forgot it)
  11. Blender sandbox

    Thank you! It worked perfectly, I have been trying to get this to work for hours, you have no idea how happy you have made me.
  12. Today
  13. Are you sure this.period is correctly defined?
  14. What I'm trying to do is to set an internal value to change via a tween invoked inside that same object. IDK if that's even legal but that's what I'm doing right now. class TheObject extends Phaser.Sprite { constructor() { ... this.circleAngle = 90; game.add.tween(this) .to({circleAngle: 360}, this.period*1000, null, true, 1000, -1) .onUpdateCallback(function(tween, value) { console.log(value); // NaN! }) } } The idea is to loop circleAngle continously, but all the tween's doing is NaNing it. Any ideas on how to make it really interpolate as I intended?
  15. Blender sandbox

    Should look like this if you loaded the unzipped file. If not restart.
  16. npm update

    Just noticing that there was a big changeset for the NPM modules for gui!! ( This is really a big move and I want to try it out and hopefully get GUI working with my setup. I'm wondering how long that takes to get to npm (3.1.0-alpha3?) Otherwise is it recommended to build my own from source to try it out or copying from github/dist/preview release/ to node_modules? Thanks.
  17. Child meshes don't work with physics?

    No, I have to give up. It simply takes too much time and I still have no idea what's the root cause of the problem. I guess no one has made a working FPS game using BJS? All the examples I've found so far are lacking in either physics or accuracy department, and I can see why that is the case. Thanks for your efforts Wingnut, I tried everything you suggested and more! I made some headway, but there is something going on which requires more resources than my team currently has. I have to settle with some kind of hack, I just don't know what it is yet
  18. Yes, I did it. Although this is not very convenient because the lists in the different classes.
  19. Physics Movement

    I wonder if I can dig up my old PG that shows the difference between force and impulse. It was like 2 years ago almost now though so not sure how to track it down.
  20. Blender sandbox

    Sorry to be a pain, if I try to unzip the file it won't let me, thus can't use it in the Add-Ons, if I don't unzip it it is not visible in the Add-Ons. Thanks
  21. scene.meshes.YouMesh.material.backFaceCulling = false ???
  22. Can you just add one callback and then treat the different sprites/groups differently?
  23. Game cycle, FPS and optomisation

    Phaser makes exactly one render for every animation frame it receives from the browser. Usually that's 60 renders/s. You can skip renders by turning on lockRender. When forceSingleUpdate is on, Phaser makes exactly one logic update per animation frame. When forceSingleUpdate is off, Phaser tries to make the number of logic updates required to match desiredFps. You can monitor suggestedFps and adjust desiredFps if you like.
  24. Blender sandbox

    Use this,, after removing the old one. Do not expand the zip. I do not need install directions for the .babylon exporter. Go to File->User Preferences->Addons Tab Click the Install from File..., then select You will now have a Babylon JS category in Add-Ons. Select that & and toggle the enable check box.
  25. How to properly dispose PolygonMeshBuilder

    Hmm, I also need to remove previous holes already added...
  26. DXT KTX WebGL Skybox Issues

    I never had any cube textures to test. I just made the same changes I did to 2d textures. I think the reason might have something to do with that there is no "SkyGradient" file, maybe try a real file (which will be the fallback) like "SkyGradient_ng.jpg".
  27. Can't play animations

    Set the loop parameter to false in any case. Try, /* … */);
  1. Load more activity