QuaziGNRLnose's Recent Forum Activity

  • Im pretty sure minecraft uses raycasting against an axis aligned octree.

  • It's sadly too late for scirra to really try attempting to make C2 easily translatable.

  • GameThirsty

    That's because each object still has to perform checks against the frustum and updates each frame, even if its not rendered. every Q3D Model introduces a CPU cost, you can't compare the performance to something like a sprite in C2, 10,000 unique objects existing simultaneously is a lot in 3D. If you're trying to do something like minecraft Q3DModel isn't going to work, there's particular optimizations needed to get something like that with so many "blocks" to perform properly, which can't easily be done in Q3D, they aren't equivalent to something like Q3D model. It requires a special system built from the ground up just for that, using octrees and optimized raycasts to carefully prune and display only whats necessary.

    Even around 500 Q3D models on screen at once on a normal system is pushing it. You could have really complicated geometry which has millions of triangles perform better in a single model, than you could have a 100th as many spread across 500 objects because the program will be CPU bound because of all the transforms it'll have to do. Q3D is optimized, so I can't really improve the performance, this is just the way things are. Eventually i'll have particle objects perhaps for stuff like smoke, but there can never be 10000s of unique objects, even modern games don't have this. Stuff is batched together, without unique transforms. Something like minecraft would require a custom plugin for stuff just like that.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • The engine checks whats in the view frustum, rendering/updating only what it has to based on that. It doesnt do occlusion culling however. The best way is to destroy/hide what isnt needed if its a performance issue, but leave things alone if it isnt. Also remember its a js engine, so dont expect to make things that are too crazy. If you can set unique materials and unique textures off that helps with performance too. At some point too much is too much however, so i cant recommend more what i have, necessary optimizations can get really complex if needed. I suggest making tests before deciding your game needs to be a certain scale and then ending up dissapointed it isnt.

    One thing i can say is that a lot of Q3D models will be slower than one with an equal number of triangles, so batching static objects into a single model can give a huge boost since it makes the gpu do the work.

  • not really possible the way construct is written. Someone could do this on their own if they really wanted to but there'd be limited support for various plugins since it would basically need to read the xml file of a c2 project, and output a unity file. It's just not something that's gonna happen.

  • Sorry if I missed something but is there any post processing support in Q3D yet? Would love to mess with HDR and DOF!

    ATM simple post processing effects can be done by using "inside" render mode on Q3DMaster and setting up effects on Q3DMaster as you would on a sprite. I plan to possibly add more complicated systems for applying post processing effects that access the depth buffer like DOF and SSAO but its not on the cards yet. you can definitely do HDR though with the inside mode trick, with the proper construct effect (not sure if someones made one yet).

    I might allow more complicated effects through an "inside" mode on Q3DViewports, and a special depth/normals rendering mode, so you can layer things up in construct. I'm not sure how things like alpha/transparency would be handled though in those cases. Theres a lot to work out! another way I might do it is by having a separate plugin for controlling post effects. I was toying around with adding deferred renderer support but its very experimental atm in three.js so a lot of features are buggy / lacking. I don't have a crazy amount of time to work on things right now so updates will be slowing down again.

  • You could try making it a behaviour for the audio object

  • It should work. Dunno why it isnt. Not home atm so i cant test why.

    Yea you need a model, raycast wasnt meant to pick colliders. You can mimic the behaviour with colliders if you have to by using a Q3DModel with a collider of a long thin box as a fake ray.

  • Heres a demo of the physics for those who are interested :

    3D Physics Demo using Oimo.js plugin

  • GeometriX

    Yea be sure to look carefully at the examples! There's a lot of useful features that are a bit hidden away because i didn't do proper docs yet.

  • UnixRoot

    Right now im implementing oimo.js, eventually i want ammo.js but the emscripten port was bugging out on me when i tried it, and in general it generates a ton of garbage compared to oimo, making the framerate choppy. I'd say my oimo plugin is about 60% complete so far.

    How should i implement quats ? I left them out thinking people would combine axial rotations instead. I guess i'll make an action/expression to set/get quat (x,y,z,w).

    GeometriX

    Filtering should change with the project settings for textures, but scaling the canvas/making it low res will only be guaranteed point sampling if you use inside mode, most browsers force linear sampling on canvas resize. Ill try your test asap. Are you using the latest Q3D? It wasnt working right in older versions.

    EDIT: tried your file, the problem is that you're using model-materials, so the texture settings are ignored. You can fix it by simply importing the textures through construct (this is recommended anyway since it'll allow for animated textures, changing the material type, etc.) I'll be sure to add some method of changing imported model textures though, or at least make their filtering match the project settings. It slipped by me.

  • Yea, it's sort of a construct bug but i have it fixed in my version, so either wait for me to update Q3D or for C2 to be fixed. You should be able to work normally for now and it'll export properly next Q3D update.

    And yea thats the basic use case of sprites, since C2 sprites can't be used the same way.

QuaziGNRLnose's avatar

QuaziGNRLnose

Member since 2 Aug, 2008

Twitter
QuaziGNRLnose has 5 followers

Trophy Case

  • 16-Year Club
  • Email Verified

Progress

17/44
How to earn trophies