Kemal UÇAR reacted to Convergence in Combining babylon.js and openstreetmaps.org data to create 3D maps from user data
I worked before on a city simulator before but unfortunately my motivation fizzled out and I never really continued with it, because there were some issues such as intersections for which I never got a good solution.
After a while I stumbled accross Mapzen, which mainly uses openstreetmaps data and decided, why not combine it with babylon. I'm not the first one to try it , but still doing it for fun It uses SPS, but the SPS.buildMesh() function is kinda slow which causes the initial load to be rather slow.
Here's my rendition (still alpha/beta) of 3D openstreetmaps with babylon.js with some examples (only tested in chrome desktop and android):
newark liberty airport
hong kong (elevation data is not very accurate for asia unfortunately)
Need good gfx card:
The search currently uses openstreetmaps search which is kind of wonky. If you want to search a city, it's better to search a landmark within that city.
Is there any way to speed up the initial buildMesh() call for SPS? I remember reading something about offloading SPS tasks to the worker?
I can't get the minimap thing to work.. how to copy a mesh to another scene?
Kemal UÇAR reacted to JohnK in Playground Based Tutorials
A new PBT on camera collisions and input management.
https://www.babylonjs-playground.com/#14G2RL <-- mistakes in navigation found
https://www.babylonjs-playground.com/#97EYJW <-- hopefully corrected
A fairly big piece of work so any mistakes either in content or actions please let me know. Documentation will follow shortly.
Kemal UÇAR reacted to JohnK in Playground Based Tutorials
This demo https://economist-exposures-32112.netlify.com/ is inspired by @Wingnut's thoughts about a playground based tutorial. Whilst I have copied the PG code it is meant to be something different to the PG not a replacement. For a start the user cannot edit any code or do their own thing in anyway. It might not be what @Wingnut intends so consider it as the start of a proof of concept. This means you can ignore the style and the twee alien.
The code can be found at https://github.com/BabylonJSGuide/InteractiveTutorials and the README gives some information on how I messed around the PG code.
Currently there is only one tutorial and here is the code that runs it.
Anyone interested in helping with further development of this - you would be most welcome.
Kemal UÇAR reacted to Pryme8 in TileMaster
Ok, so things are starting to come together with a system I have been working on.
I have most of the things figured out, Im just putting together tools to make editing the assest/levels easier.
I have the prototype/alpha of the tileAtlas Sheet editor almost done, the only thing to add is speed settings for the animations and to export the SHEET object for later use in a PROJECT file.
The editor lets you select a tile, and choose the animation type which the frame progressions are explained here: https://github.com/Pryme8/TileMaster
This is all very early in the development but all the dots are being connected and soon this will be a full fledged 2.5D Scene editor extension for bjs.
Here is the Sheet editor prototype: https://pryme8.github.io/TileMaster/editor/index2.html
Arrows scroll the sheet around
Select a Tile and an animation type to see the preview.
This is all in preparation for the final editor, where you will be able to edit your assets and levels all under one roof visually then export as a single TILEMASTER file that will later be load the project into a DOM with a single function.
The tileAtlas shader features 4 layers per plane, of course Animations, Paralax effects, and Mode7 like transforms.
I will be adding more features later (like plans for LightMapping and pixel perfect shadows)
Here is a really shotty demo showing the animations and layers working:
Here is a bad demo of the Paralax effect:
I have been trudging away at this and have a ton of features that I have already figured out I just have to deploy now.
Plans are to eventually include my fishsticks library as well to handle the 2D physics.
Ill keep posting updates on this as they come available! Questions, Comments, Concerns, Criticism is appreciated.
Kemal UÇAR reacted to Rechi in Interactive Snowcone
For a Christmas Newsletter we created an interactive snowcone.
The model represents our hometowns city tower.
On desktop the snow is simply triggered by mouse drag, on mobile you can actually "shake" to let it snow.
This was actually my first Babylon.js project and I'm quite happy with the result.
Kemal UÇAR reacted to Xav in PBR and new GUI test render
Hey Deltakosh good remark!
I absolutely have not thought about this pbroblem!
As I said this project was an exercise for me. I did not ask for any authorization so it's better not to expose it!
Again thanks for thinking about it ;).
However I have another project in production and almost finished for the end of the year holidays:
No problem of rigth for this one, all came out of my imagination;).
If you want I come back to you when he becomes functional ?
For the pb on ios it does not come from the texture in png with oclusion, roughness and metalic in the channels rgb?
Kemal UÇAR reacted to Xav in PBR and new GUI test render
I did a little exercise to update myself on the export in gltf and new Gui : http://studio-ramble3d.com/tassimo/
The modeling is done in Blender, the mapping with substance painter and I export everything from Blender with the add-on of kronos: https://github.com/KhronosGroup/glTF-Blender-Exporter
However, I have a question:
For the reflection I used the environement.dds file of Babylon because I can not generate mine.
Is it possible to create one from an equilateral texture?
I followed what is written in the tutorial: https://doc.babylonjs.com/how_to/physically_based_rendering but when I export my map it generates 7 different textures?
Someone would have an idea for me to finalize this project.
Kemal UÇAR reacted to Arte in Parametric cabinet
Hi Babylon community,
First of all I would like to say thank you for framework!
After 5 months of friendship with Babylon js, my project 'Parametric Cabinets' halfway through!
It's still pretty rough, but works on all devices!
And now it's time to ask for your opinion.
Video link (Admin panel)
Next step improve materials, edges and shadows.
1. For each part I'm using enableEdgesRendering(), but lines not solid.
2. For each face I'm using MultiMaterial with subMaterials. Is this Ok for performance? (keep in mind I need control all grains for all faces)
3. Shadows? I need good example of shadows, please
Kemal UÇAR reacted to javalang in PBR composer ( node based )
I'm happy to announce that the node based PBR Composer is on the road.
Motivation for PBR Composer: Due to the complexity of the PBR material (soo many combinations with soo much amazing effects) there is a need of having realtime feedback reflecting the changing parameters. Other than some editor already out using a bunch of parameters in confusing properties panels, nodes lets you to concentrate only on the parameters you need giving a nice overview in form of a graph. Nodes can also be shared and avoids therfore redundancy in the sourcecode. The goal is/was to make the user interface as efficient as possible. The idea for realizing the PBR Composer was inspired from Shader Editor.
Technical details: PBR Composer is a web application based on dat.gui, w2ui, litegraph.js and of course on BABYLON.js
TODO: At the moment, PBR Composer is customized for PBR-Glossy materials. The current activity is realizing a function for switching between Glossy and Metallic paradigms.
Any questions? Let me know...
PS: PBR Composer is still in alpha stage but will be deployed in beta stage soon
Here it is te demo ...
Kemal UÇAR reacted to MarianG in Car Configurator
Hello guys. I'm extremely happy to share with you my last challange for https://www.smarteam3d.com.
Please feel free to play with it, test it, report bugs, come with suggestions.
Object customization : https://www.smarteam3d.com/portfolio/car_config.html
Augmented Reality: https://www.smarteam3d.com/portfolio/car_config_ar.html
Thank Babylonjs for making this possible.
PS: It works pretty well on mobile device too, but there i have a problem with the GUI, and I'll expose it on Questions section.
Kemal UÇAR reacted to Dad72 in New Gui in Babylon
We can also create : buttons radio, checkbox, tab, text entry fields (input, textarea), slider or is it that we can create them ourselves.
It would surely be interesting to have any loan element as can be with HTML. One can like I did with CastorGUI but is over the canvas.
Kemal UÇAR reacted to JCPalmer in Automaton QA scene
This is not actually a demo, but rather a QA scene for both testing a new feature of QI 1.1, the Automaton Class, as well as developing expressions. QI 1.1 is not final yet.
There are also other aspects of this scene which have not been seen before: new grand entrances & read ahead. The grand entrances are done using shader builder.
Of course, this is not really great if the textures are not also gotten in advance. To solve this, a small entry point in the generated .js file was added, matReadAhead(). This method causes all the texture files to also be retrieved & buffered in the VM async as well, but no Texture Objects are created till needed. When the .js arrives, there is a very brief eval call on the user thread to touch this off. Note: this works with compressed textures as well.
In this scene, all the busts are retrieved dynamically. The first of course, delays when the scene becomes actually usable, but all the remaining are downloaded after the first is taken care of. Right now there are only 2, but more are coming. Also, full size characters with armatures, 30 face shapekeys, & 10 shapekeys on each hand are 5mb of geometry and up.
BTW, this all started, because I wanted to do a bunch of scenes for this blog site, but would get drowned if I had to make characters for every single scene. I also did not want to have to statically link characters as this would be a maintenance issue as I add characters / busts. Not to mention that it would slow down launch with each one added.
I normally do not do long reads, sorry. If you are still reading, enjoy.
Kemal UÇAR reacted to Deltakosh in New Gui in Babylon
hehe:) good catch !
This is my new project. The plan is to provide an alternative to Canvas2D.
The main difference is that Canvas2D is full GPU oriented (text constructrion, animations, etc..) while Babylon.GUI is CPU based (it is an extension of the DynamicTexture)
While it could be seen as a less performant aproach, it is also more flexible.
It support alignment, margin, events. Controls are: Textblock, Button, Image, Container
It is still under heavy working. Documentation will be soon available with samples.
Kemal UÇAR got a reaction from eps in My First 3d website
Hello Friends ;
I completed 70% of my first 3d web site and start testing,
its compatible for mobile devices ( tested on my android phone working well ( idk ios devices whats happens ) ),
i will add more my works images and videos soon,
and i m working on my classic 2d web site too,
I m sorry for my site language is Turkish now i will add English options soon.
Your opinions and suggestions are very valuable for me.
Please feel free to review your leisure time and let us know your views.
My first 3d site link : http://3dprof.com
I hope you will like it
Kemal UÇAR reacted to Dad72 in markVerticesDataAsUpdatable not update changes
Ok, j'ai trouver comment reproduire le bug et j'ai aussi trouver le correctif. Pour ce qui me parait être un bug: je t'ai mis des commentaires dans le premier PG. En faite, je créer un premier terrain avec ImportMesh et je vais chercher ensuite tout les vertex modifier dans un fichier a part que j'appel avec getJson. Mais les vertex changer ne sont pas pris en compte. J'ai aussi mis en commentaire un autre ImportMesh pour que tu voie le terrain comme il devrais ressembler après modification (celui qui est appeler dans le getJson)
Mais comme on peut le voir, rien ne change, le terrain reste a son état d'origine après son chargement. Avant cela fonctionnais, markVerticesDataAsUpdatable suffisait pour mettre a jour la scene.
Maintenant le correctif. Si j'utilise setVerticesData(), cela fonctionne. Ce que je ne comprend pas c’est pourquoi avant avec markVerticesDataAsUpdatable, cela suffisait, je n'avais plus besoin d'utiliser setVerticesData().
Alors peut être que c'est comme ca qu'il faut faire, que avant j'étais sur mes cache qui m'avais donner l'impression que markVerticesDataAsUpdatable mettait a jour ma scene apres avoir retirer les setVerticesData(). Si c’est ca, désoler du signalement. je mettrait en résolu.