Q3D V-2.4 [3D Physics + Skeletal Animation UPDATE]

From the Asset Store
Fantasy Game includes more than 600 sound effects inspired by hit computer games like World of Warcraft and Diablo.
  • Slice

    Try using the "child" expression in Q3D Master

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • i have buy the plugin , now i wait a link in my email or ?

  • A person who bought "Q3D" could tell me how it is done to take advantage of their purchase. I bought it by following the button "BUY" and after that paypal has notified me that I had paid nothing. No email, no documentation, no information of how to get the plugin. I sent an email to the developer who told me that if I did not receive the email I had to send an email at the same time if I ask is that I have not received anything. QuaziGNRLnose, I think you should add on the purchase page what to do. I pay and I am waiting, I do not know what to think.

  • vioz

    Normally the system works automatically, but things can go wrong and the email can be missed / lost for various reasons. Email the address i PMd you. We resend it manually when things go wrong, but there is a processing time since we operate in Canada and we arent able to do it during working hours. As long as we have your name/email/proof of purchase you should get your account info to download soon enough. Dont worry

  • I sent an email with my paypal address to the address you gave me, it's already done.

    [quote:3guxa228]You should get an email, if not send an email to

    I haven't the email , please just check your payment and send me the link ..

  • Thanks , i received my access to downloading .I test all of this and I'm pretty impressed that even on my laptop FPS are not catastrophic. I hope so that you will keep this plugin to date, it has potential.

    Can not display textures, I try with a model in .obj and with the exporter Three.js (JSON blender). My models are all unwrap. I am going to look for Three.js side for information and most speak of .collada or .js

  • QuaziGNRLnose, I observed that using even a single Q3DLight has significantly lowered the performance on iPad. For each Q3DLight that I use, I see almost 25% to 30% decrease in performance...Could you please optimize Q3DLight or suggest any alternatives to this?

  • Not sure if this has been said before but, Am i the only one who cant get the demos to load? Id love to add 3d capabilities to construct but ive yet to have any of the demos function for me to see if i want to purchase it

    again sorry if its a repeat question, im not skimming 91 pages

  • vioz

    did you look at the texture loading example in the examples pack on the first post? You need to rename your animations for textures to work, because Q3D needs to know what the texture is used for. Rename the first animation "DiffuseMap" as an example.

    kmsravindra

    Q3DLight is already as optimized as it can be, it uses shaders in a forward renderer for all lighting calculations. The problem is likely the the iPad hardware isn't good enough, or the iPad is an older model which has poor webGL support / weaker hardware (I don't have one to test). 3D WebGL is very new and is getting better every month, but it's not perfect yet, especially on mobiles.

    Lastly, the best option you have to try is probably to lower the resolution of the renders using Q3D Master if that's acceptable. IPad has a very high resolution screen even though it's hardware is bad, especially if its "retina", so you're probably trying to render a screen as big as some desktop displays. You can change the render resolution by first changing the layout property for "resolution" from "Auto" to "use size", and resizing the Q3D Object, or setting the resolution using the action "set resolution" if you want to enable a changeable resolution. In practice low resolutions make lighting faster as you need less of a gpu fill-rate for a given render.

    Your only alternative if that is unacceptable or doesn't work is to bake lighting onto static objects or fake shadows some other way. Having many objects also slows down the lighting calculations significantly, so you have to make your scene simpler on mobile.

    emartransformo

    As far as i know, you're the first! If you press f12 and tell me what the console says, that could possibly help me sort out any errors. What browser / OS are you using? Again, WebGL is newer technology so it wont work on some older setups / out of date browsers / older hardware. It's a shame but it's the state of things atm.

    to rule out if it's Q3D, could you tell me if any of these examples display?

    three.js examples

  • Physics plugin is about 90% complete, I've added support for various joint types, collision bitmasks, spheres/boxes/cylinders, helper functions, and only have multi-body shapes left to add.

  • QuaziGNRLnose, This is great to hear!

    I had one more performance hitch while using morph target animation. Just when the morph target animation begins, I notice that the FPS drastically falls to 1FPS or so momentarily and then again picks-up the next moment to 47FPS or so. And this happens for the first time when the model loads...I belive this drastic momentarily decrease in FPS is causing a problem to load on iPad. Whenever this is happening, the iPad safari browser again tries to reload the same page (note that I have got rid of all Q3Dlights in my code for performance reasons).

    Here is what I am doing in the code -

    I am having only Q3DModel object but am loading a .js model dynamically using "change model" action. Then on model created, I am calling "play morph animation". I have also tried to pre-load the .js model files at the start of the layout but it didn't help in the performance issue. I am assuming that this issue is happening somewhere between loading the model and then playing the animation "on model created" because I also notice that the model doesn't load instantaneously for the first time (it takes 0.5sec to 1 sec gap to load)...However this happens only for the first .js model file...Later models load and play animation almost instantaneously though I am loading the remaining models, dynamically, as well using the same action - events...I very vaguely remember I didn't observe this hitch when I was using v-2.2 plugin...Not sure if something changed in the code for v2.3...Any ideas what could be wrong? I have spent several hours building models in blender to launch this app in iPad and got almost everything working except this...I can share the .capx in a PM if you want to take a look.

    One more C2 coding related issue while using Q3DMaster -

    While shuttling between layouts that use Q3DMaster objects during game play, I observe that there are few issues. For the first time when I go to a layout using Q3DMaster, then it loads all the objects for the first time...Then lets say I go back and come back again to the same layout...When I come back again to the same layout I believe it assumes that all Q3Dobjects are already loaded etc., so action-events like "on model created" give a javascript error ( I think it assumes the model is already created)...This is adding an additional burden to figure out in C2 code if I am coming to this layout for the first time or later and accordingly add some repeating logic w/o "on model created" action etc., Will it be possible to see if this could be simplified in the plugin ?

  • kmsravindra

    please do pm me with the capx.

    Note that loading models for the first time requires the browser to download the file, and send the geometry to the gpu, so it causes a drop in the fps that can't be avoided, also, using the same model but never uploading it to the gpu because it hasn't been rendered yet, or requires new model attributes because of textures/animations/etc. also causes small drops. these delays are unavoidable for first time initialization, but usually aren't a big problem on desktops. I assume again that the ipad hardware isn't really the greatest and the webgl implementation is poor.

    You can load everything at the beginning using the Q3DMaster action "load model" and then the drop will only occur at the beginning but not when swapping between models with "change model", this will mean the models don't have to be downloaded but there will still be a small pause on first time initialization. to get rid of even that pause, you have to basically get those models to initialize first, which should happen if you change to each of the models you need at least once in this case. Q3D sort of lazy initializes things this way because it would otherwise use way too much memory making assumptions.

    I'd advise you that the "keep mat settings" feature in "Change Model" introduced in V.2-3 is "slow" (at least it probably introduces a non-negligible overhead on mobile), and you should disable it unless you need it. "Change model" is also not the fastest function unless its changing to initialized models.

    Again, Q3D is very optimized, but the IPad has slow hardware and safari's .js engine and webGl implementation aren't very good. There isn't very much I can do to improve things, but your projects performance can easily be improved by properly initializing objects. I can't make Q3D automatically guess the number of models and of what type it needs to build pools for, or the models it needs to load, so you have to do that manually if you wish for the initialization to occur only during loading and not lazily on a need-to-know basis. Perhaps eventually i'll include the option for a special initialization file that gives Q3D instructions, but for now you can use change model (ensure the files are done downloading first).

  • Thanks I am sending the .capx file right away. Could you please respond to this question as well ( that I edited later in the above post..prob you might have missed it)

    One more C2 coding related issue while using Q3DMaster -

    While shuttling between layouts that use Q3DMaster objects during game play, I observe that there are few issues. For the first time when I go to a layout using Q3DMaster, then it loads all the objects for the first time...Then lets say I go back and come back again to the same layout...When I come back again to the same layout I believe it assumes that all Q3Dobjects are already loaded etc., so action-events like "on model created" give a javascript error ( I think it assumes the model is already created)...This is adding an additional burden to figure out in C2 code if I am coming to this layout for the first time or later and accordingly add some repeating logic w/o "on model created" action etc., Will it be possible to see if this could be simplified in the plugin ?

  • kmsravindra

    Didn't know about that bug! The plugin covers a lot of functionality so it's difficult for me to test every interaction. I have simple unit tests but sometimes I just miss bugs like that. A way to deal with the issue for now that you can do is probably to just make Q3DMaster a global object and make it invisible when it isn't needed. I'll try to figure out whats causing the bug for the next update though. Please report any bugs like this that you run into!

    EDIT:

    From testing in a simple project, i couldn't recreate that bug. could you please pm me a simple cap that causes the problem you're talking about. i made a project that switches between two layout and uses "on model created" but this is insufficient to cause the bug.

  • QuaziGNRLnose, Understood...I am not complaining...After all you really dared to make a great plugin that lot of us could not even imagine...

    So in the same capx file that I sent you, if you can "toggle disable" the following lines -

    • Disable Line 2 till Line 11 ( here is where I am checking if it has already come to this layout before, then using these events)
    • Disable only "System first time = 0 " condition in Line 12
    • Disable only "System first time2 = 0 " condition in Line 22

    If you observe, I am almost doing the same thing between Line 2 to Line 11 as between Line 12 to Line 22 - The difference being checking for "On model created" event in Line 12 to 22 and not checking for the same during LIne2 to LIne 11.

    When I run with the above mentioned lines disabled in the below scenario, I get this error -

    Here is how to create this scenario -

    1. Choose a cylinder shape and click Nets ( Now for the first time it works fine)

    2. Go back using 3D shapes button

    3. Again click on Nets ( Cylinder shape is chosen by default anyway)

    4. I get the JS error as mentioned in the image.

Jump to:
Active Users
There are 2 visitors browsing this topic (0 users and 2 guests)