We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.

Large scenes in Verge3d?

Home Forums Graphics / Blender Large scenes in Verge3d?

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #86627
    c4cc
    Participant

    Sorry for the stupid question, but how do you implement a dynamic or even interractive background huge enough to take up the whole scene, especially with multiple animations playing simultaneously, without lag or slow load times – imagine the following as a blender 3d creation, with traffic flowing sometimes at consistent or erratic speeds:

    Examples:

    If I just rendered one huge image for the background scene, including the physical platforms the game stage takes place on, wouldn’t the texture become very grainy and blur when zoomed in?

    If I put in both game platforms and background scenes made out of vertices, the lag/slow loading times would be immense

    Any suggestions for me to render huge, dynamic (background) scenes like the above with multiple animations playing simultaneously with as minimal lagging or slow loading times as possible?

    Such as tricking Verge3d into reducing vertices (in real time) without affecting visual quality of objects or by taking a huge as possible image of the entire Blender scene as stage background that is still sharp and clean when zoomed in while allowing dynamic animation to play
    Verge3d vs Babylon.js
    https://share.google/aimode/AgsxWfztn7mS4aUSS

    Tried to ask chatgpt, but just need your opinions
    https://anotepad.com/notes/c973p2t6

    https://anotepad.com/notes/q7wt3cwk

    How do large browser games play on web browser
    https://anotepad.com/notes/6awga2px

    is webassembly javascripy
    https://anotepad.com/notes/cgs6syei

    https://share.google/aimode/kIsuOFGZC6vJe18ZK

    webgpu for blender
    https://share.google/aimode/oEDcPIjjfAv9Gw4vM

    why is c++ better than javascript for games
    https://share.google/aimode/PSVGWcpHEQoAsOsEJ

    how to use C++ for web browser games
    https://share.google/aimode/hQS3uAxvZBAcSCkCL c++

    for web browser games on mobile browser
    https://share.google/aimode/JAypOVjDW4JgR6zYC

    best programming languages for web browser games on mobile browser

    https://share.google/aimode/w0qoQdpBskIOwbTR2

    best programming languages for large web browser games the size of GTA 5 on mobile browser
    https://share.google/aimode/7QWu8YGZ6PXJDLhl4
    will babylon.js help
    https://share.google/aimode/zGUsV2zJoC8WpCN4b
    will this work on web browser pc
    https://share.google/aimode/N9zXBzQbvk03RYZb0
    besides babylon
    https://share.google/aimode/QwRMwtrJMKZcBw5YR

    Minecraft larger than gta 5, build gta 5 on babylon.js
    https://share.google/aimode/cXOIWjPPP6DgBSh7q
    part 2
    https://share.google/aimode/v8beTIbK1PwLaFjcx
    part 3
    https://share.google/aimode/Nv2lyzmzKmRxziYdr

    Develop game without game engine
    https://share.google/aimode/YJ2l85x2WbsjU0v0p

    https://webgpufundamentals.org/

    chunking vs lazy loading
    https://share.google/aimode/Goli4svJ6Cm3nvsXe

    https://share.google/aimode/7dWIrsQ6K8Uu4mG3J

    why is c++ better than javascript for games
    https://share.google/aimode/gk8AFeMohDFDAh2Bm

    https://share.google/aimode/gk8AFeMohDFDAh2Bm

    how can javascript run large browser games the size of gta 5 on web browser
    Part I
    https://share.google/aimode/NhVNpvuOZ2Sk9DVDU
    PartII
    https://share.google/aimode/7USmAzBiGPOQjfqv8

    in-depth layermask for optimization babylon.js
    https://share.google/aimode/Iox8YGkYqtpL0O8jc
    in-depth layermask for optimization unity
    https://share.google/aimode/O39bOY2L9H0SIrTZf

    when to use c++ in babylon.js
    https://share.google/aimode/ZKN8A2bPoRVSqPpHi

    render call
    https://share.google/aimode/cRLuQodFNIzTXyDpF

    https://forum.babylonjs.com/t/optimizing-the-render-call/29582/3

    export blender large scenes to babylon.js
    https://share.google/aimode/6tniGFJuQnm1szUZ5

    • This topic was modified 4 months, 2 weeks ago by c4cc.
    • This topic was modified 4 months ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 3 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.
    • This topic was modified 3 months, 2 weeks ago by c4cc.

    FPS trialproduct 20.9.25 https://postimg.cc/gallery/LMM5vkQ/af43346e

    #86628
    c4cc
    Participant

    Imagine this kind of dynamic background in a video game stage, but published in Verge3d and running smoothly without lag or slow as hell loading times

    FPS trialproduct 20.9.25 https://postimg.cc/gallery/LMM5vkQ/af43346e

    #86630
    xeon
    Customer

    There are limitations to webGL, the device memory and browser memory…all of these things combine to determine your scene complexity. This is compounded if you plan on this being a web deployment vs an an app (electron or other).

    As you already know, WebGL and specifically Verge3D, have limited memory capabilities and have very limited triangle, redraw and map size requirements along with many other factors that affect performance. Unfortunately, WebGL has many more limitations than a game created with Unity for local playback or on a console and you will never get that level of performance…but you could probably fake it.

    The scrolling game is a low bit simple poly background that you could easily do in Verge3D using a simple repeatable texture and a simple instanced/cloned polys to make up the background. The city scape…well…as long as its stays in the distance…you could also just texture that to a plane and use it as a scrolling background.

    Verge3d is a tool and a great tool when used to do the things its best at. Its not a game engine although it has some of the traits of a game engine. Its best at being an interactive web based deployment engine that allows you to deploy to multiple simultaneous platforms. Its brilliance is in its simplicity not its complexity. You as a interactive artist/developer has to choose the right tool for the right job knowing that you will need to have a wide set of tools in your tool bag. Verge3d is one of those tools. But like a hammer, it can’t be the only tool you have at your disposal or you will be wishing your hammer was a screwdriver, instead of having a screwdriver to use in your tool bag.

    Alternatively…you have two options. Find a different tool or wait and hope the one you are using catches up to your needs. I think you will be happier adding another tool to the tool box.

    LOD – I have been hoping for a good implementation for this for years.

    With that said, I would suggest reframing the question to help you achieve your desired effect. Given what Verge3D can do and its limitations how do I make this background effect work in my project. Hopefully you are at the start of a new project.

    When taking on a project, you have to account for the background, maps, objects everything all at once to determine how your scene will work. Often it starts with someone blocking out scenes with objects and determining the poly counts, maps needed, etc. and determining a technological approach that will work with the desired design/creative. Unfortunately, many people start their project then decide they want to add something significant and realize they are already out of memory and things have bogged down and the new addition would make things worse. In those cases….its either lack of experience, oversight or the customer changed their mind and in some cases we are the customer and it happens. The answer is regardless….you have to go back and block it all out…determine you max polys, max textures, shader network efficiency and performance you are willing to live with and then with that information build your app.

    With that all said… can it be done…yes, but you will need a lot of tools in the tool bag to make it work in V3D.

    Xeon
    Route 66 Digital
    Interactive Solutions - https://www.r66d.com
    Tutorials - https://www.xeons3dlab.com

    #87169
    c4cc
    Participant

    Thinking of changing my game engine to Babylon.js for:

    Higher framerates, or more potential

    FPS trialproduct 20.9.25 https://postimg.cc/gallery/LMM5vkQ/af43346e

    #87170
    xeon
    Customer

    It’s another tool for your tool box.
    With a heavy amount of C++ you can do any thing :-).
    If you are going down the road of making a commercial game… you will need a platform that you can roll out native apps on..
    Verge 3d is best suited for light loads in my opinion…and a fully detailed interactive environment is not something Verge 3d will do well with without a lot of custom code.

    However… since you are thinking Babylon… you will be doing custom code too so.. now you have options… it really depends on platform and delivery methods you want.

    Xeon
    Route 66 Digital
    Interactive Solutions - https://www.r66d.com
    Tutorials - https://www.xeons3dlab.com

    #87171

    Higher framerates, or more potential

    My opinion might sound a bit biased, but I don’t really see why Babylon.js (or Three.js) is automatically more suitable for browser games than Verge3D. Just because a tool forces you to write JavaScript from day one doesn’t make it inherently more powerful.

    As for FPS, it’s largely about materials and shaders. You can achieve excellent performance by using a single very simple shader across all your objects. Verge3D uses more complex, GPU-heavy shaders by default to better match the look of Blender, 3ds Max, and Maya viewports. That doesn’t mean you can’t optimize — you absolutely can switch to much simpler shaders when needed.

    Soft8Soft Tech Chief
    Want more Verge3D updates? Follow me on X, Facebook, or LinkedIn

    #87250
    c4cc
    Participant

    Alexander, thanks for your suggestion, it’s just that when I put in a certain material shader for flashing effect into my browser game, the frame rate significantly dropped from 144 fps to under 80fps – I want my browser games to be optimized fully to the point 144 fps is the normal framerate

    Also, can Verge3d handle browser games the size of GTAV or GTA San Andreas (assuming app optimization is done as much as possible, load minimization like chunking or LOD applied constantly)

    FPS trialproduct 20.9.25 https://postimg.cc/gallery/LMM5vkQ/af43346e

    #87322
    bigmike814
    Participant

    c4cc every time you post in here I see growth. I think what you should do is start experimenting with the ideas you have.

    Try Babylon. It’s another level of tools you wont get on v3d but the tools aren’t handed to you, they don’t come prepackaged with error logs and all the good stuff v3d gives you out of the box. If you’re at the point where you are hitting a growth ceiling, then try Babylon.js. If you hit a wall there, then try c++.

    V3d is where I started my code journey and these forums and a lot of the same people responding to you are the people that helped get me unstuck and eventually outgrow it, which is why I still come back to help. But v3d is designed for a type of builder and to be honest, if you’re wanting to match GTA style performance, Babylon.js isn’t going to help you either.

    You asked about c++ and is it better. And the answer is always, it depends. But with c++ your code compiles into binary code. It talks directly to your CPU. It doesn’t have to run through a few compilers to get there.

    But Babylon.js is designed from the ground up for browser video games, and there are a lot of things you can do in it that you cant do in v3d. The guardrails that come with v3d that keep it simple and artist friendly is also where it bottlenecks you. Babylon is going to allow you so run parallel threads, chunk your package via vite and other modern tools to help optimize it.

    But if your goal is a web browser game that rivals GTA, we’re 15+ years away from that happening on the browser. And you cant run c++ in the browser, so c++ wouldn’t make any sense to run in a web game.

    #87323
    c4cc
    Participant

    c4cc every time you post in here I see growth. I think what you should do is start experimenting with the ideas you have.

    Thanks for the praise and the encouragement, I really appreciate it

    Try Babylon. It’s another level of tools you wont get on v3d but the tools aren’t handed to you, they don’t come prepackaged with error logs and all the good stuff v3d gives you out of the box. If you’re at the point where you are hitting a growth ceiling, then try Babylon.js. If you hit a wall there, then try c++.

    This is a good suggestion, I hope Babylon.js also can have >150 fps , despite a heavy scene full of animations, shader materials, etc – assuming I optimize the best I can

    V3d is where I started my code journey and these forums and a lot of the same people responding to you are the people that helped get me unstuck and eventually outgrow it, which is why I still come back to help.

    This is touching

    You asked about c++ and is it better. And the answer is always, it depends. But with c++ your code compiles into binary code. It talks directly to your CPU. It doesn’t have to run through a few compilers to get there.

    But Babylon.js is designed from the ground up for browser video games, and there are a lot of things you can do in it that you cant do in v3d. The guardrails that come with v3d that keep it simple and artist friendly is also where it bottlenecks you. Babylon is going to allow you so run parallel threads, chunk your package via vite and other modern tools to help optimize it.

    But if your goal is a web browser game that rivals GTA, we’re 15+ years away from that happening on the browser. And you cant run c++ in the browser, so c++ wouldn’t make any sense to run in a web game.

    One good thing about Babylon.js is that it’s free. Also, what if I tried to get V8 JS Engine?

    Once again, thanks for your praise, advice, and encouragement – it’s appreciated and something to consider.

    :heart:

    • This reply was modified 2 months, 2 weeks ago by c4cc.

    FPS trialproduct 20.9.25 https://postimg.cc/gallery/LMM5vkQ/af43346e

    #87324
    bigmike814
    Participant

    Also, what if I tried to get V8 JS Engine?

    any modern chrome browser already runs V8 and the safari and Firefox run something similar. But if you’re going to build a game for the browser, you’d want to consider all of them.

    and yeah, just keep asking questions and exploring. I remember last year you were asking about manipulating the DOM. You’ve come a long way. The more you understand about the larger framework, the easier it gets.

    I also forgot that you can use wasm to use c++ in the browser, but I cant speak to any of that. My stuff it way too simple for that. But I have no doubt that if your desired outcome eventually needs it, you’ll figure it out.

    • This reply was modified 2 months, 2 weeks ago by bigmike814.
    • This reply was modified 2 months, 2 weeks ago by bigmike814.
    • This reply was modified 2 months, 2 weeks ago by bigmike814.
    #87371
    c4cc
    Participant

    Also, what if I tried to get V8 JS Engine?

    any modern chrome browser already runs V8 and the safari and Firefox run something similar. But if you’re going to build a game for the browser, you’d want to consider all of them.

    For sure, I’ll definitely look around

    and yeah, just keep asking questions and exploring. I remember last year you were asking about manipulating the DOM. You’ve come a long way. The more you understand about the larger framework, the easier it gets.

    Appreciate the encouragement and support

    But I have no doubt that if your desired outcome eventually needs it, you’ll figure it out.

    This is encouraging. Here I asked if Babylon.js could develop large web browser games the size of GTA 5, especially for mobile web browsers, and while the answers were mixed, the current last answer to my post was encouraging

    :-)

    • This reply was modified 2 months, 1 week ago by c4cc.
    • This reply was modified 2 months, 1 week ago by c4cc.

    FPS trialproduct 20.9.25 https://postimg.cc/gallery/LMM5vkQ/af43346e

    #87399
    bigmike814
    Participant

    This is encouraging. Here I asked if Babylon.js could develop large web browser games the size of GTA 5, especially for mobile web browsers, and while the answers were mixed, the current last answer to my post was encouraging

    That would get expensive fast. Like really fast. Especially if it’s multiplayer.

    Anyway. I’m curious, are you working on a single project or are you just learning as much as you can and just pushing your skills?

    #87419
    c4cc
    Participant

    Anyway. I’m curious, are you working on a single project or are you just learning as much as you can and just pushing your skills?

    Working on a single project, while learning as much as possible and pushing my skills as byproduct.

    FPS trialproduct 20.9.25 https://postimg.cc/gallery/LMM5vkQ/af43346e

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.