• Content Count

  • Joined

  • Last visited

Everything posted by ua4192

  1. Thanks for your response. I finally found the issue. The problem was my scene and camera settings Best regards
  2. Hi. Here you can see: In theory when mouse was over the mesh it should display the name and point 3D coordinates and also change the color. You will see that coordinates are always (NaN, NaN, NaN) and the mesh is not properly recognized and that color is not properly changed, just some meshes are recognized. It is really a bug in my opinion. It happens with all models I have tested. Best regards
  3. Yes. I am sure that all meshes in the GLTF file are Pickable, Visible and Enabled. When I import the GLTF file I set all meshes contained with these settings. This was my first thought. And I checked it by putting a trace for each mesh contained in the GLTF. In deed, It is really strange but picking works but only when I am very close to the mesh. The mesh exceeds the frustum. When I zoom out it doesn't work. Best regards
  4. Hi. I have a problem when trying to pick meshes from an imported mesh (GLTF 1.0 file). My problem is that scene.pick method is returning null always. Only when I am very close to the mesh I am able to pick the mesh but always the same mesh. I have read other posts from other people having the same problem, but not sure about the solution. In my example I am not transforming anything (moving neither rotate), just loading the GLTF that contains submeshes inside (in the inspector you can see the product structure of the GLTF) but not able to pick anything. I am using BABYLONJS 3.0. Any clues? Best regards
  5. Hi, You are fully right, very sorry for my mistake. Inthe last version the duplicated issue was solved. About inspector and behavior when selecting instances, would it be possible to select only the instance selected by the mouse and not all the instances? Again, many thanks for your support, your inspector is really nice. : ) Best regards
  6. Hi. No, unfortunately not. ; ) After testing the last version I continue experiencing the same issue. Assets used for instances appear duplicated Did you change anything in your code since my last mail? Read my comments about instances and highlighting them. Best regards-
  7. Hi. The PG you prepared had only one single mesh, no product structure on it. To reproduce the problem is very simple, just create a collada model with product structure and convert it to GLTF1.0, you will see that the structure is properly converted , now try with GLTF2.0 and you will see. Here you can see my model example converted to GLTF2.0 and you can also see the original DAE file. Best regards test.glb test.dae
  8. Hi again. Another problem I see in the inspector is that instances are not selectable. Try to select one instance in my PG and you will see that the mesh that is highlighted is the main mesh where the instance was made of. With clones is working. See this PG: Best regards
  9. Hi. I have recently updated my repository and tested the new version but I continue experiencing the same issue. Maybe Am I doing something wrong? Here you can see the new PG where I am forcing to use the new version but continue the same: You can see that meshes to create instances should only appear on assets_mesh mesh container but they also appear in the root folder Best regards
  10. Hi. Unfortunately not. I don't how to start in BABYLONJS. But concerning the zoom window, the idea is very simple. I am trying to develop a web CAD viewer and as you can guess interact with objects shown in the canvas is a must. In order to implement the zoom window, my idea was to be able to interactively draw a rectangle based on mouse click on 2 different coordinates and be able to see this rectangle shown dynamically. If you have played with any CAD viewer solution you will understand what I mean. I know how to pick coordinates from canvas and my idea was to create a invisible box in order to focus zoom on it. Best regards
  11. Hi. I want to implement the typical Zoom Window feature available in CAD viewers but I don't know how to interact with canvas in order to perform this action. Is there anybody who had implemented this functionality? Is this possible? I want also to be able to add text layers to my scene in an interactive way and also be able to save this information for future loads of the same scene. Best regards
  12. Many many thanks. Your inspector is really nice. Best regards
  13. Hi. It is reproducible in any scene using an arcrotate camera. When the radius gets to 0, the camera goes to the reverse camera target view. I don't know how to disable this behavior. Best regards
  14. Hi. Many many thanks for the quick response. But, has been the download from GITHUB already updated? Best regards
  15. Hi again. Another issue I have experienced is that since I am using GLTF2.0 format in my scene, when I try to open the inspector I get this error message: TypeError: BABYLON.GUI is undefined. It leads me to the following files: babylon.inspector.js: 720:17 (loadGUIProperties) babylon.inspector.js: 13:13 (Inspector) babylon.js: 36:16940 (t.prototype._createInspector) babylon.js: 36:17314( I am using the following line to use inspector in my head section: <script type='text/javascript' src="mypath_to_babylon.inspector.js"></script> I have also tried with: <script type='text/javascript' src="mypath_to_babylon.inspector.bundle.js"></script> When I was using GLTF1.0 it was working. Best regards
  16. Hi again. I am experiencing a problem with the camera zoom. I am using an arcrotate camera. My problem is that when I zoom out / in the camera, sometimes the view is changed to the order side of the mesh I am seeing. I have tried to deactivate upsidedown but it doesn't work. camera.allowUpsideDown = false; I have also set limits to null: cam.lowerAlphaLimit = null; camera.upperAlphaLimit = null; camera.lowerBetaLimit = null; camera.upperBetaLimit = null; camera.lowerRadiusLimit = null; camera.upperRadiusLimit = null; Best regards
  17. Hi. Some days ago I realized that the was a new release of COLLLADA2GLTF2.0 available: You can see it at: I have tried with: - or: - My problem is that I am trying to use the BABYLON.SceneLoader.ImportMesh method but it seems it is not able to import anything. No meshes, no in In order to use the GLTF2Loader I am using babylon.glTF2FileLoader in the header section of my HTML but it doesn't work neither provides any error output. As I want to import everything from my GLTF files I use "" or null as the first argument of ImportMesh. With GLTF1.0 it works with both. Am i doing anything wrong or maybe GLTF2 is not yet fully supported? I read that it was but it seems it is not the case. My meshes don't have anything than geometries and standard materials. I have tested with the multiple options the command provides: -i inputdaefile -o outputfile [-g] --> with or without -b --> with or without -m --> with or without Best regards
  18. I am very sorry for the delay. Here you can see: I am using LODs and instances. As you can see, I should only see scene_mesh and asset_mesh in the root folder in the Mesh tab, but I also see the main meshes I use for instantiate (sphere1, sphere2 and sphere3). As I am using thousand of meshes this is really annoyance. Is this the correct behavior? Best regards
  19. Thanks. I have forwarded my question to him. Best regards
  20. Hi. Is it possible to apply a small modification in the inspector in order to discard in Meshes Tab duplicates. I know that inspector is for general purposes, but it is a wonderful tool and I would make use of it. Let me explain. In my scene, I create 2 main meshes (empty meshes): context_mesh --> I put inside as child the plane context (schematic meshes from the plane in order to know where are the parts from query_mesh alocated in the plane query_mesh --> I put inside as child all the meshes from the selected query to the DB My problem is that when I open the inspector I see these 2 main meshes and I can descend into the childs but in the same level I also see these meshes (child) in the level 0. Example: Meshes Tab: Level0: - context_mesh: - context_mesh_child_1 - context_mesh_child_2 - context_mesh_child_n - query_mesh: - query_mesh_child_1 - query_mesh_child_2 - query_mesh_child_n - context_mesh_child_1 - context_mesh_child_2 - context_mesh_child_n - query_mesh_child_1 - query_mesh_child_2 - query_mesh_child_n It's a bit confusing. Best regards
  21. Hi Many many thanks to everybody for your answers. This portal is wonderful. Yes my CAD is static, no animations at all. I will have a look to your answers and come back yo you in short. Would it be possible for you to put ans example in PG? And again, many many thanks. Best regards
  22. HI. Of course. : ) I am trying to make a web CAD viewer. My idea was to launch a matrix of rays (if posible 30x30) dividing the canvas in 900 cells. With my solution based on scene.pick method this takes around 40 secs, I guess that if task could be managed by GPU it could take around 10 times lor even less. I guess that in GPU you can launch jobs in parallel. In this way I will only discard very small piezes. My problem is that in my scenes I have more than 20000 meshes and many times 80% are ocluded by other meshes. But as BABYLONJS doesn't provide any oclussion system between different meshes then I am rendering in my scenes many meshes that are nnot needed. Many thanks in advanced if you have some time to work on it. I am sure that if you get it, your work will be used by many people. ; ) Don't hesiate to ask me for more details if you consider. Best regards
  23. Hi. I am afraid I am not able to apply these techniques. I will try to explain briefly. My framework is a CAD visualization system. The ASSETS are extracted from an Oracle DB, basically for each record in the DB I have the following information: - Filename - Row_ID - Transformation matrix (position and rotation) I have no idea about occlusion culling logic of my CAD data. The goal is to be able to see the scene moving the camera in any direction, so this is the reason I am thinking in this approach to limit the number of meshes in the frustrum. The reason you see so many active meshes is that 80% of them are occluded by other meshes. Think in a plane fuselage and parts inside.. If scene.pickmesh was executed by GPU, I am quite sure my solution run fine. For me launching a matrix of 30x30 should be enough (900 meshes at maximum) at any moment. Of course if the camera is not moving, no need to launch the function to occlude meshes. If the camera only pans, a % of already computed occluded meshes could be still valid, for zooming in and out, maybe not so easy to resuse. Do you understand my problem now and why I am thinking in deploying this technique? Best regards
  24. HI. One more time I have to recognize that your code is too much for my short knowledge. : ) I agree with other members, you are the king of GPU. Here you can see my idea. The matrix of rays I am using is 25 x 25 = 625 rays with scene.pick method. Basically I am limiting the number of meshes in my scene to 625 in each mouse movement. Besides this I am also replacing the scene by its bounding box when camera is moving. Of course if oclussion clulling function could be executed in less time this wouldn't be necesary. As you can see in this PG when I move the camera position this happens: 1.- the scene meshes are replace by its bounding box, so I can rotate / zon /pan in a very agile way. 2.- When camera is static again (no movement detected) I apply the oclussion culling function with a matrix of 25 c 25 scene.pick calls dividing the canvas in 25 x 25.cell matrix. How could I apply your technique? As you can guess I would prefer to laucnh oclussion culling when carmera changes, but time spent depends directly on the rays launched by the function and they are computed by CPU in secuence. I am trying to renderize a big scene (CAD Plane), and my best achievement is to replace the scene by the bounding box in camera movements. Best regards and again sorry for my ignorance. Best regards