Popular Content

Showing content with the highest reputation since 08/26/2018 in all areas

  1. 11 points

    Web Game Editor (MMORPG)

    Hello, I'm proud to talk about version 2 of my MMORPG editor (FR and ENG) that I renamed to "Web Game Editor" instead of "HeroonEngine" which was a name that looked too much like another existing editor. This version 2 comes with a new, more modern, community-based website. It will be possible to find a manual and video tutorials for getting started, as well as a shop and a forum (FR and ENG). The editor has undergone many improvements, new features and various fixes to make it more stable, more functional and more successful. Some things have been totally rewritten. It will come with a small Integer demo that contains two terrain and plenty of media on offer. I should hopefully release version 2 in the month and make an announcement of its release. For the moment I present it here. I have been working on this editor for years since BabylonJS was born. The editor has been renamed 4 times and rewritten 3 times totally and this name is the last change. Content and features: Here is some screenshot:
  2. 9 points

    The Earth Magnetic Field

    This is an scene showing the earth magnetic field. Link: EarthMagneticField The buttons on the right:
  3. 7 points

    My Phaser Story

    Over a year and a half ago, I started to learn how to program while using Phaser. Since then I've released a number of mobile apps that have been commercially successful and allowed me to work from home and basically do anything I want with my life. Since I've had a blast working with Phaser, had lots of help from the community, and have anxiously waited for every Phaser newsletter since I started using it, I figured I should share my little story with you guys. I'm one of the few who uses Phaser solely for mobile apps, but I never actually planned on doing that. 2 years ago my friend and I were developing a language learning app focused on writing the alphabet of non-latin based languages. We were using html5 canvas for our writing recognition using a custom framework my friend made and I wanted to add some cool effects to the writing strokes. But had no idea how to do it and at the time, I couldn't print a "Hello World" from memory! Looking for a solution, I stumbled upon Phaser and slowly learned how to program while making a bunch of little prototypes. I never actually intended to make a commercial game with it though. Fast forward a few months and my friend, the programmer of the writing app, got married and took a month off. I decided to spend that month making a small language learning game with Phaser. I made a very simple game where you learn numbers and colors and I was like... you know what? I'm just gonna release this even though people probably won't like it and there's almost no content. I made one app for Japanese and copied everything over and made one for Korean as well. Within a month both of them were getting ~1,500 downloads a day, which was better than our writing apps. I was pretty surprised because the game was clearly not finished, and you could blow through all the content within 30 minutes, but the vast majority of people only had positive things to say about it. Since Phaser was the only thing I had experience in and I loved working with it, I continued to use Phaser even though I had no plans on doing anything with web. I then spent the next 4 months adding a lot more categories, hired professional voice actors to voice all the words, and added more languages, and the app really took off after that. The rest is history. From lurking on this forum for quite a while, I've noticed that finances comes up quite a bit. What I did, which will work if you don't have any location-specific responsibilities, would be to move to a very cheap place, go abroad if you are in a developed country. I saved up $10k and moved to China & Taiwan for about 2 years, spending an average $60 - 120 / month for rent. This gave me a 1.5 year runway whereas if I stayed in the states, that money would have barely lasted me 5 months with the same lifestyle I enjoyed in China & Taiwan. This was crucial because I was able to completely focus on learning and developing, ignore every part-time job offer that came up, and still being able to live a full life of traveling, eating out, extracurricular activities, and having fun every weekend, which is crucial for efficiency. And that's my Phaser story. Thanks to Rich for an excellent product, without it, maybe I wouldn't have learned how to program. iOS and Android links: https://jernung.com/infinite
  4. 6 points

    Random Tiled

    https://goo.gl/4HcDzN https://goo.gl/SkK44V random tile main texture for both
  5. 5 points

    New Babylon.js GUI Helper

    The new container SelectionPanel lets you add groups of checkboxes, radio buttons and slider relatively quickly. Example Full docs
  6. 4 points

    Lamps on Babylon / Open Contest!

    Just to let you know, I'm still on my tutorial. I'm... just... too... slow to write it 🕵️‍♀️ Here a first draft if you want take a look (click): For now, my tut is about Standard Material workflow. Once done, I will make a PBR version.
  7. 3 points
    Its been a long time but we are finally ready to release a public alpha of Super Combat Squadron. Multiplayer is included. Try it out and we would really appreciate it if you provide feedback! We are just a tiny team doing this in our free time and feedback is like gold to us.
  8. 3 points

    Flight Simulation Experiment

    I have a minimal flight simulator here: https://www.babylonjs-playground.com/#UL7W2M and at my website jounce.space/flightsimhome that can be full-screened (f11) and has skybox as shown here: The code that makes the flight simulation possible: var camera = new BABYLON.UniversalCamera("cam", BABYLON.Vector3.Zero(), scene); addYawPitchRollFunction(camera, 1); where addYawPitchRollFunction(...) is defined as: function addYawPitchRollFunction(ob, gravity) { ob.rotationQuaternion = new BABYLON.Quaternion(); ob.rotationQuaternion = BABYLON.Quaternion.RotationYawPitchRoll(ob.rotation.y, ob.rotation.x, ob.rotation.z); ob.myGrav = gravity; ob.yawPitchRoll = function(yaw, pitch, roll) { var axis = new BABYLON.Vector3(0, 0, -1); var partRotQuat = new BABYLON.Quaternion(); BABYLON.Quaternion.RotationAxisToRef(axis, roll, partRotQuat); this.rotationQuaternion.multiplyInPlace(partRotQuat); BABYLON.Quaternion.RotationAxisToRef(axis.set(-1, 0, 0), pitch, partRotQuat); this.rotationQuaternion.multiplyInPlace(partRotQuat); BABYLON.Quaternion.RotationAxisToRef(axis.set(0, 1, 0), yaw, partRotQuat); this.rotationQuaternion.multiplyInPlace(partRotQuat); this.rotationQuaternion.toEulerAnglesToRef(this.rotation); } ob.autoBank = function(yaw, pitch, speed) { var axis = new BABYLON.Vector3(0, 0, -1); var partRotQuat = new BABYLON.Quaternion(); var roll = Math.atan2(-yaw*222*speed, this.myGrav); this.rotationQuaternion = BABYLON.Quaternion.RotationYawPitchRoll(this.rotation.y, this.rotation.x, roll); BABYLON.Quaternion.RotationAxisToRef(axis.set(-1, 0, 0), pitch, partRotQuat); this.rotationQuaternion.multiplyInPlace(partRotQuat); BABYLON.Quaternion.RotationAxisToRef(axis.set(0, 1, 0), yaw, partRotQuat); this.rotationQuaternion.multiplyInPlace(partRotQuat); this.rotationQuaternion.toEulerAnglesToRef(this.rotation); } ob.clearYawPitchRoll = function() { this.rotationQuaternion.set(0, 0, 0, 1); this.rotation.set(0,0,0); } } Now you can add increments of yaw, pitch, & roll to camera's orientation: camera.yawPitchRoll(yawInc, pitchInc, rollInc); Or for automatically coordinated turns: camera.autoBank(yawInc, pitchInc, speed); Look at https://www.babylonjs-playground.com/#UL7W2M as a complete example. I welcome your comments, corrections, suggestions, & accolades! 😅 Enjoy! - -
  9. 3 points

    The Wingnut Chronicles

    Alright, my refurbed ipad4 arrived, is router'd, and has installed its latest iOS version. I Safari-browsed a couple of BJS demos... worked ok. Sponza demo... good sounds and scene... but slow turning. Internet Cafe demo... looked good, also slow turning, and browser crashed at the top of the stairs, twice. I will try to investigate further, after I learn to drive iOS better. Might need fresher Safari. Good fun. This pad is bigger and heavier than I expected. And it claimed to be "grade B" quality, but I don't see a scratch on it. (yay). It's purrrrrrdy. Too nice for this "campfires and mud bogging" kind of chap. I need carrying cases, next/soon. I'm also preparing power and mounting devices for... - truck (view truck's PDF owner's manual + use accelerometer to find some jerking. Truck has USB jacks & cig lighter socket. I needed usb to Apple "lightning" adapters for powering from truck USB). - boat (watch movies while fishing) (boat uses 12-volt car battery/trolling motor) (Wagan 9.6 amp 4-outlet charging station will be attached to top of boat battery box) - mic-stand (lyrics/songlists) (wall-wart ipad power) The friggin Arkon heavy duty "ball-stack" mounting arm is $100! OMG! (I found a new-but-scuffed for $45) phew. I think I can use same mounting arm for all three applications. Quite off-topic, I know... but I'm excited! This is my first-ever mobile device, and the first time I've used one. Baby's first swipes, ya know?
  10. 3 points
    Mat Groves

    Is pixi.js dying?

    Good question! Theres lots of reasons! 1 - I genuinely feel happy when I see something we created help other people to create. 2 - I find it super challenging, constantly trying to be render things faster, whilst hiding away complexity from users (not everyone wants /needs to know webGL). can be frustrating, but ultimately makes you feel warm and fuzzy inside when you figure out a new way to do something thats faster and easy to use. 3 - I get a serious education in how the team manage communities, and how to work with other devs. 4 - Team is cool smart bunch o'people. I like interacting with them 5 - Its helps our agency from a business perspective through increased exposure. 6 - Its ultimately helped me become a better dev. 7 - We would have build something like pixi internally anyway as it helps us make what we need more effectively, we just went a step further and shared the code No plans on stopping anytime soon!
  11. 3 points

    How to join two walls as one?

    Doors work OK if you need them. A bungalow http://www.babylonjs-playground.com/#1Z71FW#4 based on this one (very loosley)
  12. 3 points

    Morphing Objects

    @Gijs, thanks for your help. I will check the simulation and the obj exporter and try to fix the faces. The inspector tool in PG is very convenient. Cheers!
  13. 3 points

    Custom Builds?

    For anyone else coming to this, there is now a proper tutorial on how to do this. You can find it here.
  14. 3 points
    I think the consensus is remake of a retro game. so we got two takers cool, if we can get one more then we got something. Maybe try to start it on the 15th of this month and run it for 30 days?
  15. 3 points

    KEEYAH - A Procedural Ninja

    http://pryme8.com/keeyah-a-procedural-ninja/ ^^ EXPLANATION ^^ I just wrote this up today in like 20 mins so if there are errors please point them out ❤️ http://pryme8.com/toss-game/ ^^ GAME ^^ Ok so its not really complete yet, but on Tuesday of next week I start my new contract and wont have anytime to look at this; so I figured Id post it before I turn into a ghost. Important info: - You Toss the stars by drag and releasing on the screen from the bottom and swooping up - You get bonus points for curving your shot Need to Implement still: - Level Progression, for now if you want a new level go into your console and type : toss.buildStage(#) I would recommend not going over 50 cause I dont think you can effectively even throw that far. *TEMP FIX FOR NOW* - Balloons to pop that multiply your tosses score. You can assume you beat the level if you get a score that is five times the level, so level 1 you need 5 pts, level 4 you need 20, etc... Everything is generated at run time, there are no assets. Oh and on a cool note, that once I mimify everything and strip everything out of the BJS engine file that I don't need the predicted size of this game will be under 200kb
  16. 3 points

    Screen fade/motion blur effect

    Pull request created! https://github.com/BabylonJS/Babylon.js/pull/5051 My next step is to provide a single post-process for object based motion blur I'll let you know once done!
  17. 3 points

    Got wrong screen coordinates

    @dbawel @Pryme8 Thanks for your concern about this issue. I'v got the root cause: In my program, there are two viewport, so the scene.activeCameras has two cameras in it. To use the project function, var transformMatrix = this._scene.getTransformMatrix(); may not get the right transformation matrix. Instead, the transformation matrix should come from the active camera of the active viewport: var transformMatrix = this._activeport.activeCamera.getTranformationMatrix();
  18. 3 points
    @Deltakosh @Sebavan @PatrickRyan Hi, Thank you for your kind response to my friend @cx20. I'm impressed that Babylon.js is doing a lot of efforts to verify the reflection model. Recently, I started to add support of PBR to my library (still only punctual light). Let's say that Cook-Torrance base is good for the model of specular reflection. I was worried about which specific approximation formula is appropriate (Disney, Unreal Engine, Frostbite, Major companies, each best practice exists). Of course, I was also concerned about the handling of roughness etc. I immediately looked at the Khronos official PBR sample, and I decided to make the implementation almost the same for the time being. I wanted to avoid the result of my library getting away from other libraries, so I expected each library to reference it as a reference. But, according to cx20's comparison test (He is comparison test happy! ), The results of each library seem to be very different. And, in actual use of glTF 2.0, differences in PBR results which can be seen even at amateur level among each library seems to cause people a lot of confusion. For the general public, there are no interests in internal mathematics, and the brightness and color taste of what they saw are all. I think there are some key points of view. * What is the renderer that each library refers to? (btw, I started to refer Arnold Renderer too. It's unbiased renderer, popular, and default solution in Autodesk DCCs. Of course those do not mean that all results are correct proof...) * A case where the validity of energy conservation etc collapses as design and implementation become more complicated (such as clear coat support) * Simply, careless mistake in handling gamma (recently, there was a thing in a major library) * Difference in approximate expression to select (In a sensitive case, the difference in reflection lobes and spikes may appear in visual results. for example, In Unreal Engine etc, they started to use Height-Correlated Smith Masking and Shadowing function.) * Difference of IBL implimentation Even with local reflections, the results differ so much, so in the future, gIobal Illumination results will be more different between each library.
  19. 3 points
    Hi, @cx20! @Sebavan and I spent a lot of time working on the implementation of our IBL environments. We reworked how we generate the DDS prefiltered environments so that we aligned with what perceptual ray tracers and popular game engines like Unity and Unreal are doing with their IBL rendering. We are approximating a perceptual roughness model which drops what is perceived to be 50% rough falls in the middle of middle of the linear ramp for roughness. The GGX algorithm that we use for our lighting calculations has more of a linear roughness scale which loses clarity in reflections quickly (by around 0.3 roughness). We adjusted the falloff to mirror what happens in Arnold ray tracing, which is the renderer we chose as our ground truth for this work: We were able to largely match the perceptual falloff from the Arnold ray tracer, while using a prefiltered MIP chain in the DDS ignoring the last two MIP levels. We have some deviation from the high roughness in the ray traced ground truth, but since fully rough materials don't really exist in the real world, there is no way to know if Arnold is right in these areas. To look further into your scene, I recreated it with your code, while adding in the environment from the ground truth as well as our more neutral interior studio environment. I even turned off the directional light in your scene as you don't really need it anymore, at least not pointing directly at the spheres to light them. I also dropped in the glb of the test spheres from above in with your spheres with a slight modification to your spheres where we are only looking at two rows, one fully metallic and one fully dielectric. Looking at materials that are partially metallic and partially rough are confusing to the eye to determine what looks right, so simplifying it to the extremes for metallic allows us to concentrate only on roughness and values to ensure things look right. Here are the two environments with your setup (slightly modified): You can see in these that the directional light is commented out so is not contributing to the scene. Ideally, you want to use an environment IBL to help ground your scene, but also to add more complex lighting without overloading the scene with analytical lights. You will still need the analytical lights for cast shadows, however. Here is the playground for you to experiment with: http://playground.babylonjs.com/#BGWI46 It has both environment files referenced with one commented out so you can test both of them. Please let me know if you have any questions about anything.
  20. 3 points

    mesh problem

    First of all, welcome to BabylonJS! We are happy to help you with questions as you are working on your game. What you are seeing is that your mesh is writing into the transparent queue as Max saw there was alpha values on your material and vertices and placed it into the transparent queue. When you have a complex mesh in the transparent queue, you will see sorting errors as it does not have the benefit of a depth buffer and does not know what face should be in front in all viewing angles. Here are a few things you can do: I would suggest exporting your files from Max as a glTF file as you can load that directly in BabylonJS, but also take advantage of the many glTF viewers that are available like the BabylonJS Sandbox (https://sandbox.babylonjs.com/), Mixed Reality Viewer for Windows, Sketchfab, etc. This gives you a way to debug what is happening in your mesh by being able to see how several renderers deal with the file. If you see your issue pop up in one of the other renderers, you know the issue is in the file. I would avoid placing color on your vertices unless you really need to for some reason. It's much easier and will create a smaller file to assign materials to your meshes. If you have alpha on your vertices, you will end up with the mesh in the transparent queue as the exporter will see the alpha and set the alpha mode accordingly. To set up your materials correctly in Max, refer to the docs at http://doc.babylonjs.com/resources/3dsmax_to_gltf#pbr-materials for reference. You will need to make sure that your transparency weight is set to none to make sure you output your model in the opaque queue. If you still have an issue with the export to glTF, you can easily open the glTF file in an editor like VSCode (https://code.visualstudio.com/) and quickly change the alpha mode to the correct format which is detailed on this page: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#alpha-coverage VSCode is also another place that can view your glTF file by adding the glTF extension. You can search for glTF in the extensions tab and you will find it. If you need your asset to be double-sided, you can add the double-sided property into your glTF manually: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#double-sided and an example can be found in https://github.com/KhronosGroup/glTF-Sample-Models/blob/master/2.0/FlightHelmet/glTF/FlightHelmet.gltf line 535. There is a blog post I wrote about the art pipeline into glTF, which is a little dated now and I am working on an update. It shows how you can even export your glTF directly from Substance Painter if you like. You can find it at https://www.khronos.org/blog/art-pipeline-for-gltf Let me know if anything here does not make sense or if you have further questions about your asset creation. Take care!
  21. 3 points
  22. 3 points

    Please read FIRST

    This forum is used to ask questions about the framework's features, and about subjects you don't quite understand. Don't know how to use CSG? Don't understand what a physics body impostor is? this is the place for you. Please don't forget: Show us what you did so far. We are all very happy to help (always), but we won't do your homework for you. Start a playground, share a link! A functional demo (with a question at the end) will give everyone the chance to understand what you mean. If you share an external link, have the babylon.max.js version available on the server. Otherwise it is impossible to debug. If this is not possible - share some code. Unless it is a philosophical question about the life, Babylon.js and everything, code is the right way to go. Try searching the forum before submitting a question. Chances are, this question was already asked by a different user and was already answers. Pro tip - the forum's search (thou revamped) misses topics from time to time. Try searching using google/bing/duckduckgo/altavista, adding "babylon.js" before your question. If you have your question answered, mark it as solved using a tag. This will surely help other people in the future! Some general Guidelines: Be nice! Don't expect anyone to help you just because you have a problem. Don't forget - this is an open source framework. We are all working on it on our spare time. Please try being clear! We are all international users, English is not always our mother tongue. We do understand that! Liked a post? Press the like button! It will only make the other side feel proud. It is also a way for you to bookmark answers you liked. If you have any personal questions, contact one of the forum moderators. Anything else belong in the forum for everyone to learn from! Don't be afraid to make mistakes or to post questions you feel are silly. They are sometimes the most important ones!
  23. 2 points

    Flight Simulation Experiment

    really nice
  24. 2 points

    Create mesh online

    I have to say that if you need an immediate solution, then please look at the responses and resources from @Deltakosh on this post. There is definitely a solution to your issue now. I'm simply making this easy for anyone who is writing or has and existing app to multi-task... and we've been writing code for 5+ years to make everything happen in real-time for unlimited user collaboration. But I'm just talking crap until I produce. Which is why you'll always find me awake at 3am in the morning on any given night. This is Extremely hard stuff - which without a Dev Partner who has the backed experience, I would have never have accomplished. DK, I think you'll be proud of me one day...😉 DB
  25. 2 points

    mergeMeshes Automatic Optimization

    Hey guys! I've been extremely busy with other non-3d urgent projects that unexpectedly got into the way. Hopefully, I will be able to plunge again into the loved 3d world in the next two weeks or so - as soon as the urgent project is done - and I will resume this mergeMeshes implementation and share my discoveries of optimization