QuaziGNRLnose's Forum Posts

  • tulamide

    for such a "clean" waveform I love how it gets those nice full sounding harmonics. You can hear gentle beating changes that make it so warm! It's impressive that the osc. alone achieved such a wide range of effects!

    Davio would probably be interested in the VST when it's done, so I'd love to have it!

  • aviata

    http://blog.romanliutikov.com/post/6046 ... in-threejs

    You'll need to look for three.js tutorials on how to export work and in blender. The Q3D changelog gives info on how to apply the bones/skeletal animation behavior.

    Skeletal animation is tricky to get good results with if you're just getting started with Q3D and/or three.js, it'd be a good idea to familiarize yourself with the workflow a bit first by playing around.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • scoterr

    It's kind of tricky to work out the math, and Q3D doesn't have an expression to get the projection matrix. It'd probably look nice if you made a sprite/model text system in Q3D and use that instead, and you'd have the benefit of using the Zbuffer.

    If you know the camera attributes by setting them to known values, you can work out the projection matrix.

  • Well you can't build the function you're talking about out of sin/cos, because by definition both are even/odd functions with a special relationship to geometry, while your function would be asymmetrical and has no real physical significance. This kind of hints any attempt at building them from a sum/series of sin/cos harmonics (a Fourier series) would require A LOT of harmonics to approximate the shape, and to begin with you'd need a way to define your function.

    What I would suggest is to build a function with cubic splines. I don't really have time to work out the math but it's not difficult.

    Basically set it up so that you define the points (-1,0),(m,0),(1,0) which are the "left","center","right" of the wave (all the points where it crosses the X axis). m is a parameter you control to set where the "middle" will be where m is somewhere in the interval (-1,1), with m=0 giving something akin to a sine wave, and any values different than 0 shifting the point left or right. Then you set up your function S(x) as a piece-wise function

    S(x):

    if(x<m) S0(x)=a0+b0(x)+c0(x)^2+d0(x)^3

    if(x>=m) S1(x)=a1+b1(x-m)+c1(x-m)^2+d1(x-m)^3

    then you'd need to solve for all 8 parameters a0,a1,b0,b1,c0,c1,d0,d1

    you'd do this by adding constraints onto S(x), like the following to get 8 equations in 8 unknowns (note the ' and '' indicate 1st and 2nd derivatives)

    S(-1)=0

    S(m)=0

    S(1)=0

    S0(m)=S1(m)

    S0'(m)=S1'(m)

    S0''(m)=S1''(m)

    with additional constraints to ensure the function is smooth when it's periodic

    S0'(-1)=S1'(1)

    S0''(-1)=S1''(1)

    you could also just set S0'(-1)=S1'(1)=K instead of the condition i wrote last, allowing you to explicitly set the slope to K at the endpoints.

    OR

    maybe if you want to mimic sine waves you could set S0'(m)=S1'(m)=-S0'(-1), but this could be weird. Generally playing with the periodic constraints will help you control things nicely.

    Note that you need to give the function x values in the range [-1,1], or else you'll get weird output since this is basically just cubic polynomials that are infinitely increasing or decreasing past a range. So if you want to pass in a value that behaves periodically you have to remap it periodically to the [-1,1] range, similar to how an angle like 720 deg.=360 deg.=0 deg. That part should be easy to figure out.

    Obviously you'll need to work out all the math to efficiently set all the 8 parameters for the function based on any given m.

    This is the best idea I have to offer, I've never seen any function like the one you want, and this one wont perfectly reconstruct a sine wave for m=0, but it'll be something close and fast to evaluate, as-well as offers the capability to control the derivatives with additional parameters.

    To be honest i have no idea what it'll sound like so if you work it out i'd be interested to hear I assume it'll just start to exemplify strange harmonics as you shift the center, since this is what it'll be doing to the Fourier series

  • gorgonzola3000

    I haven't seen too much about 3DS exporters (three.js is open source so obviously the community favors blender heavily) however i know there is an official exporter for 3DS. Im not sure what features it supports though.

    In general I think people export to a format blender can read from 3DS, then import to blender -> export from blender to a three.js format. Maybe this has changed, i haven't been too active in three.js dev community recently.

  • Prominent

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

  • 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.

    gorgonzola3000

    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?

  • 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.

  • 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 extremely busy these days, and don't have any time to work on updates. Q3D is immensely complex and construct 2 is constantly upgrading so i can't get it to always work with the latest versions that release bi-weekly, but the SDK is too limited for me to take Q3D much further. I stated after the last large updated I wouldn't be around for a while because of other projects I needed to focus on. I have some builds with minor fixes, but it can't be expected that I'd be able to work on the plugin for years. It's already got a lot of functionality and isn't/was never meant to be a competitor to unity etc. just a supplement to construct 2. Q3D has most of the features you'd need for basic 3D games, but you can't expect it to have all the features of an engine like unity which is made by a huge team of people.

    Ethan

    I was working on a large "how to" manual this summer, but got caught up with other things and never finished it. Even in it's incomplete state it should be of help to some users, and covers some of the basics.

    https://dl.dropboxusercontent.com/u/829 ... 2-4_2.docx

    I apologize for it abruptly ending and incompleteness, but I just don't have the time to write 100+ pages more at this time. I had hoped plugin users would themselves make examples and share them/help each other out in my absence.

  • Minify will break everything. Other than that, using too recent a version of construct may cause bugs as Q3D's current version was only tested with versions coinciding with it's release (around April 22nd 2015), I can't really future proof releases cause construct 2 updates can change things unexpectedly.

  • Rhed

    as long as you're feeding in x/y coordinates that are from Q3D, the distance values you get should be right and in the right coordinate system, although you must realize it's only the planar distance between objects, not accounting for Z. To get 3D distance you must use the Pythagorean theorem extended to 3D, distance=sqrt((x2-x1)^2+(y2-y1)^2+(z2-z1)^2)

  • It'd be helpful if you could pm me a simple .capx demonstrating the problem, so i could troubleshoot.

    From what i understand though, physics are still working, its just the rotated collider isn't rotated anymore?

  • I can't really figure out what you mean from those images.

  • you can only use primitives or combinations of primitives (to use combinations you must set up the extra colliders with events). This is for performance reasons.