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

  • Ethan

    As someone who've learned Q3D via trial-and-error and some frustrated educated guesses, I've had no actual major problems understanding nor relying on Q3D to do it's job.

    Obviously documentation is a big plus (and something I also would've liked in the beginning) with plugins like these, but it is in no way mandatory. Quazi has created something that wasn't supposed to be supported by Construct 2 in the first place - alongside plenty of update information every time he adds onto it, and taking his time to support Q3D users with their questions in this thread. I've read through some pretty nasty and naive comments here, and Quazi always seems to be able to answer in a professional and patient manner no one should take him for granted to have. I believe we're forgetting that he's just one person (talented one at that) whom at some point decided to make an excellent plugin and then went out of his way to keep it stable and feature-packed by the best of his abilities, and I commend him for every second he spent doing that.

    His brother recently released a game that I've been looking forward to (Towerclimb) - and even then, Quazi has every right to be busy whenever he likes to be. This is not a commercial product backed by tens of people, it's one hobbyist pulling the strings and asking for the equivalent of three substantial dinners in return. No pay-per-month bullshit, no pay-per-update shenanigans - he's as humble and as reliable as can be in my eyes. And with that, In my opinion, you should be satisfied with what you bought since the only problem here is documentation, something he has since proven is on it's way.

    He could've just released the first version and leave it at that, but he does try to keep it an understandable, working, semi-regularly updated plugin for something that otherwise would require a java programmer to achieve. Going the other more painstaking way around, Playmaker for Unity costs $65 as of writing - and should give you enough to emulate Construct 2's event system in a fully-fledged €ommercialized 3D-engine alongside probably plenty of documentation.

    So please, respect Quazi's private life and his personal will. When he wants and has the time to work on the plugin, he will do that.

    I got here to ask about how to render a Q3DSprite's magnification filtering by nearest instead of linear, but was pleased to see the plugin is still in progress and hoping it'll be in v2.5. Until then - I will work with what I have, refer to this thread for common answers and just ask questions when I'm full-on 100% stuck. For more beginner documentation than what Quazi just linked, you may also want to check out http://3dswing.com/ or CTRL-F on the first post to scan through update information with keywords. Otherwise, some of the most confusing little problems for me has had the most simplest of answers in places you don't even think about looking in. If you're curious how to achieve something specific, you can also look at the demos referenced on the website I linked or on the first post, otherwise you can always try it yourself and learn from experimenting.

  • So please, respect Quazi's private life and his personal will. When he wants and has the time to work on the plugin, he will do that.


    What he's been able to achieve and whether it was possible to do in C2 and how it compares to other products is all irrelevant. Yes he's obviously worked hard on the project, but he also asks money for his work, fair enough it's not a huge sum and i don't expect him to be chained to his desk but you simply can't turn around and behave like its some free plugin with a donate button.

    For your information i've posted questions in this thread, non have been answered, and still haven't, and of the 4 examples 1 produces an error, also reported with no response, and the other appears to use commands which have since been superseded.

    Like you i've since answered my own questions (apart from the error), i was simply giving my feedback on the current situation as it stood at the time of posting. You've given yours, i guess we see the situation differently. How others see the situation and whether they think i'm being too hard on him and if i'm a jerk is up to them.

  • Ethan, which examples aren't working? If they've been deprecated i'll delete them, but there's no real reason for the deprecated examples to work, they've been superseded by better systems already (e.g. Q3Dlight object)

    I'd hardly call the updates I put in small also. You may have bought the plugin recently, but it's come a long way for the initial purchasers, with additions that enable full skeletal animation and physics, which we're by no means small additions. Its not as if I've turned around suddenly and dropped support either, It's a fully functional product as is for it's intended purpose (3D web applications).

    three.js is a free library and anyone can write their own plugin that interfaces it with Construct 2, but by no means is this a small undertaking. I've supported the bulk of the features you'd need for a game and then some (even pushing changes into three.js to optimize it for games, and adding major upgrades to oimo.js, the library i used for the physics). I don't think the price is unfair for what's already there, documentation or not. Even though anyone *can* make a similar plugin, and distribute it for free, no one has yet. I've put over a year and a half of development into Q3D, and try to maintain it every few months. I can't work on it weekly...

  • I'm trying to run the "lights and geometry" example but i get this error -

    Uncaught Type error: Cannot read property 'setHexR' of undefined Quazi3D_plugin.js line 2656 (col 42).

    I have the latest stable build of Chrome, Construct and NW.js.

    Also when i try the other examples and try clicking on any light action like lights/hemisphere it always brings up "Auto update shadows" instead. I'm guessing it's because there arnt any light based commands in the Q3D master that i can see, so how are the lights being created/set? The examples don't use any Q3dLight objects. I'm just trying to learn how to set up a scene.

    A bit disappointed with the lack of docs to be honest

    My original post from September.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • that example is unneeded now, it's included as a reference for people who could be using the older plugin versions. Just use Q3DLight instead, it's easier and better. In the word document I linked before they're explained quite thoroughly.

  • ---------------------------

    Message from webpage


    Javascript error!

    'THREE' is undefined

    http://localhost:50000/Q3Dviewp_plugin.js, line 29 (col 3)

    This may be a bug in Construct 2 or a third party plugin or behavior - please report it to the developer following the bug report guidelines. Subsequent errors will be logged to the console.




    got this error when trying to preview the layout

    Windows 64 bits

    Construct 2, release 214

  • If q3dmaster is set to global, when you change layouts, models that have an offset will get the offset applied again- so they end up misaligned.

  • Anyone figure out how to move objects to another scene in another viewport? Seems like it isn't working for me.

    They get removed from the first scene, but they don't show up in the scene they are supposedly moved to. I have the camera set up for that scene as well, so it is strange.

    edit: I've tried to create a new object in the new scene after picking it, but still no luck. Doesn't appear in the new scene. I have created the scene, camera, picked them, positioned camera, etc.

    edit: seems to add it but new cameras aren't same orientation as default.. they're inverted or osmething.. or maybe the scene is?

    Edit: okay, seems you have to use the change parent in the q3dmodel actions, not the change parent in the q3dMaster.. the action in the q3dmaster doesn't seem to work even if you pick the object correctly.

  • Can't set background color/alpha on viewports/scenes..

    edit: alpha only set to 0 or 1, and color only is set if alpha is 0 or 1, otherwise it is black.

  • Seems like new cameras are inverted or something.. They don't point the same direction as the default camera. Not sure how to fix them either. I tried rotating them, but can't seem to get it right, everything ends up upside down.

    edit: okay, you have to set the up vector to -1 in the y axis, and then rotate the camera 180 in the y axis and 180 in the z axis.

  • Prominent

    remember that Y axis is positive down, so if the "up" vector is positive Y, you're defining things flipped. The reason for this is obvious, so that the view-port of construct's editor lines up with Q3D's, and of course maintaining the fact that everything use right-handed cross products / coordinate systems (which is the de-facto standard in most 3D fields)

    Viewports only support full transparent / opaque backgrounds because of how they're rendered. It's not something that can easily be changed due to limitations in three.js/webGL and Construct. Doing this was the "best" choice I could make in terms of speed as well.

    Q3D Master has a lot of deprecated features, that have niche uses you normally would need. Always look at the actual available objects first as they're better optimized and require less micro-management from you and are mostly guaranteed to work. I have no idea how you were even trying to pick the Q3DModels with "change" parent as they don't have any internal ID's available to Q3D.


    That's weird. I haven't tested anything in 214, but that bug in particular means something fundamentally isn't working. Could be how you installed the plugins, or could just be how you set up the scene, I have no way of telling. You always need an instance of Q3DMaster in the layout to do anything at all, if you're missing it that kind of bug can occur, since Q3D isn't loading any of the necessary components (In this case the ENTIRE three.js library isn't loaded for likely this reason). Do you get that error trying to run examples?

  • QuaziGNRLnose , what gave me trouble was that the new cameras aren't created with the same settings as the default camera is initially set with. The default camera has the up direction as -1 and the default camera is also automatically rotated 180 in both the y and z axis. You don't have to set these.

    But for any new camera that you make, you have to set them that way- which causes a disconnect in a person's mind. The logical way to think a new camera would be set is how the default camera got set. So when the new camera doesn't appear to do what the default does, it make you think something is wrong.

    btw, I'm still not sure why objects get their offsets added again whenever layouts change when the q3dmaster is global.

  • Prominent

    The Global thing is probably a bug. Any reason in particular you need Q3D master to be global?

  • QuaziGNRLnose , the same reasons anyone would use global objects. It makes development simpler to manage when you deal with one object rather than multiple. No point removing something and then adding it back in when the layout changes if it is suppose to stay the same.

  • err. I feel stupid.

    I figured out the problem. I just forgot to put a Q3DMaster object. I mistaken Q3DMaster with Q3Dviewport

    works like a charm now.


    BYW, is there anyone who managed to export skeletal animation from 3dsmax to Three.JS successufully ?

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