All Activity

This stream auto-updates   

  1. Past hour
  2. Anyone have any idea what graphical pipeline was used in the .io game Squadd? It kinda looks like something like MagicaVoxel > Maya > MentalRay... Custom render. Or could be something more like 3DCoat > Maya > MentalRay... The game looks like a failure as it cannot get players, but the graphics are great.
  3. Today
  4. Sorry for my late response, I'll have try... never worked with playgrounds so have to dive into it...
  5. I have a model that looks well in Blender and Meshlab, but somehow looses quality when I load it in Babylon. The first image is loaded in Babylon. I marked a few examples of the poor quality with red lines. The second image is from Meshlab. As you can see, the Meshlab model has a nice round nose, the nose of the Babylon guy is bumpy. The same goes for the chin, lips, eye holes and more places on the entire model. Please note: the original was an FBX, I converted it to STL for loading in Meshlab and .Babylon for Babylon - I am trying to get the STL loaded in Babylon, to see if it is a file format problem or an engine problem. My first guess it is the engine, since both formats use the same representation of the data (ascii) which should not give problems like rounding errors. (Loading the STL has its own problems. Babylon loaders are reluctant at times to do the work or give proper feedback)
  6. Hi Mpman, If the imported meshes are from the SceneLoader then you can change their properties after loading: BABYLON.SceneLoader.ImportMesh("", "/dir/", "file.obj", scene, function (loadedMeshes) { loadedMeshes.forEach(function(loadedMesh) { console.log(`loaded ${loadedMesh.name}`, loadedMesh) } }); If you want to hide a mesh instead of using css, try to set it's visibility property to 0. So, in the code above you could do: if (loadedMesh.name === 'hideme' ) { loadedMesh.visibility = 0 } If you share the file you are importing and where you are stuck we can be more helpful.
  7. The texture you are reading from the loader's resource is a PIXI.Texture instance. When you do new PIXI.Texture and pass in the other texture, it is just creating a new texture instance that uses the same base texture of the first one you passed in. The end result of your code above is two texture instances with the same baseTexture. Not super useful unless you want the same image but different frame values (like in a spritesheet).
  8. wait ... 2 or 3 hours i have solution
  9. OOHHH. I see. Using typescript and if the first parameter for the Texture class is not a base texture, I get a warning so I never bothered to try it.
  10. What are the things that differentiate the two ? Example: let texture = PIXI.loader.resources("player.png).texture; let otherTexture = new PIXI.Texture(PIXI.loader.resources("player.png).texture); I assumed they were the same thing and I don't understand the mechanisms behind the two.
  11. Your code works for me.
  12. Just curious, if you see this reply, to know if you meant really 30$ or 30k$ and forgot the "k"... =)
  13. One possibility is to pack the game for Android and publish into Play Store, a free version with ads and a paid version without ads. If the game is nice and there is some luck, it might be successful and generate revenue. If it has in-game micro-transactions, an alternative is to put it on a website and try to make it known up to the point it starts generating revenue.
  14. Yeah, at the poles are the coordinate singularities where the nasty stuff is happening. This is why one needs to get into the guts of ArcRotateCamera to create a different behavior. I wonder if any other camera gives us the control over the transformation matrix.
  15. Very nice. Bookmarked.
  16. Even desktops are sensible to the amount of draw calls, but mobiles are much more limited, indeed. The trick here (used by the programs you mention) is that they are using hardware instancing to draw many objects at once with a single draw call. You are making your draw calls individually, and that is why at only 300 sprites you already see a performance hit. With hardware instancing you can easily draw thousands of objects without a great performance hit, but they must be all the same object. So, resuming: look for "hardware instancing" and you will find what you need.
  17. That's good to know, removing the BetaLimits feels already much better, it gives more freedom to the camera controls. But if one comes close to the poles the controls react a bit "nervous". More importantly, there are still many orientations of the target which are not accessible.
  18. Texture is a (baseTexture, frame). Sprite doesn't have frame. So you have to copy the texture, to achieve the thing you want. Texture in resources is a (baseTexture, (0,0,baseTexture.width, baseTexture.height)). You modified it and put in sprite - you got the result ``` let newTex = new PIXI.Texture(PIXI.loader.resources['lala'].texture, t32Rect); //same as let newTex = new PIXI.Texture(PIXI.loader.resources['lala'].texture.baseTexture, t32Rect); let sprite = new PIXI.Sprite(newTex); ```
  19. Actually never mind... forgot that let croped does not create a copy , rather points directly to the texture
  20. let loaderSource = PIXI.loader.resources; let initPlayer = ():void =>{ let croped = PIXI.loader.resources["./img/player.png"].texture; let t32Rect = new PIXI.Rectangle(0, 0, 32, 32); // console.log(croped); croped.frame = t32Rect; let player = new PIXI.Sprite(loaderSource["./img/player.png"].texture); //this is not displaying the entire image, rather it's using the .frame clip. Shouldn't this be the independent whole image/texture? rootStage.addChild(player); console.log(player); }; Not sure why the Sprite displayed on PIXI is a cropped image rather than the whole thing. Shouldn't it be the entire thing ?
  21. Yesterday
  22. I received an email reply asking for a fiddle. Here is one showing the flickering issue. Simply use the mouse wheel and zoom out; flickering should start happening (I'm on latest Chrome) https://jsfiddle.net/744o680r/4/ I am drawing the graphics once and then scaling. I am using PIXI.Application and handling my zoom in a function, which is then added to PIXI.ticker with a HIGH update priority. In my application, I re-draw the graphics when one of the following is true: the widget window is resized or the browser window is resized. When a tracked data model is updated, then I re-draw only the changed graphic represented by that data model. @OSUblake: Thank you for the link! It is definitely relevant to my needs and I shall peruse. EDIT: Argh. @ivan.popelyshev had it right. graphics = new PIXI.Graphics(true); Enabling native lines made the annoying flickering go away. I could've sworn I tried his suggestion earlier...my bad <_<. Thanks for the assistance everyone!
  23. var mesh = scene.getMeshById("put the name of the mesh you need here);
  24. @Mpman hy there and welcome to Bjs, you can use var mesh = scene.getMeshById("put the name of the mesh you need here); you can use the debugLayer to find the submeshes in your imported mesh, you can find the name of the mesh that you want there. The debugLayer is really a great tool for this
  25. @Sebavan check this out http://www.babylonjs-playground.com/#lf4h6a#11
  26. You also need babylon.canvas2d.js. https://github.com/BabylonJS/Babylon.js/tree/master/dist/preview release/canvas2D
  27. oops! Thank you, shaym4n
  1. Load more activity