QuaziGNRLnose's Forum Posts

  • Im not sure if theres any incompatibilities as i havent tested things extensively in new versions. I think the last known compatible version was like r-200, but it "should" work fine in new versions.

  • Try Construct 3

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

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

    hmm, I don't think they're in radians, but i honestly can't remember. It's fixed in my current version but I dunno about V2.4, the rotation order may be strange though.

    railslave

    You need to make sure the layers are transparent for "behind" to work.

  • totoe

    you should be able to view it online or convert it yourself using google docs. busy atm.

  • [quote:t984e942]One of the main problems was whether to use copy or reference semantics. Copy is easy and convenient, but if you're dealing with a 10mb array will quickly hammer performance and bloat memory

    Ashley

    Just have two different types then, one that passes by reference and another by value. MOST arrays will not be bigger than a few elements and just serve to reduce code bloat. If you don't like the effect it may have on new users being overwhelmed, hide advanced types behind a setting like "enabled advanced view" like most programs with power-user features do.

  • That's a terrible excuse, you can modify the elements in-place in a small buffer of vector object and generate no garbage, passing the result by value to a fixed object like you do with any other variable types, the same way you can with arrays. Vector types are not complicated to implement, and construct already "supports them" through having multiple variable, all we'd need is a better IDE that can manipulate / recognize vectors/arrays.

  • Hi All.

    This may well be described in one of the 151 pages in this thread, and if it is, my apologies...

    I'm just getting started with this plugin and am trying to do something seemingly simple -- I'm trying to place a 2D image (.png) onto a 3Dplane. I've created an exported .obj file from Blender that uses a .png a file as texture for a Blender plane and everything can correctly in Blender. HOWEVER, when I try to load said .obj file into C2 (using the Position_and_Rotation_Actions demo this plugin comes with) I can't seem to get the Q3DModel to render -- the image's texture is not displayed. (I've set "Use Model" to Yes, and set "Model Materials" to Yes while also importing the OBJ file into the C2 Files folder)

    Would someone be able to put a quick .CAPX together that accomplishes this? Perhaps this can even be done programmatically in C2? I'm not picky..

    TD;DL: I have an 2D image I want to paste onto a 3D plane using this plugin

    Cheers!

    -Remy

    Make sure your model is divided into tris not quads (Q3D can only display triangles) there should be an export option to do this automatically. Also "model materials" should be off, it's a special feature to load material information out of the model and required special setup. Instead apply textures / materials with actions and the animation editor.

    heres an incomplete manual:

    https://www.dropbox.com/s/vpn0mbh4m7lo9 ... .docx?dl=0

  • >

    > 4) Some way to have Object "methods" or perhaps some way to link an Object method to call a Function Event?

    >

    > 5) Function definition markup/tags to define what params a Function needs and is visible in Action Function call dialog

    >

    > 6) Return multiple values or an array from function

    >

    Love the suggestions!

    A few additions:

    1 - Start treating arrays as a proper type, instead of an object. We have string, number and bool, why not array?

    2 - Same goes for dictionaries (AKA hashmaps, AKA associative arrays), so that you can do array["position"] as well as array[1]

    3 - Pointers as a type. This means you can store references to an object inside another object, as a property. Right now you can do this by storing the object's ID, but you can't do stuff like player.weapon[1].destroy() in a single event

    4 - First class functions. You should be able to return functions as well as store functions as properties of an object. This is something that javascript can already do, so why not?

    5 - N-Dimensional arrays, as well as arbitrarily nested arrays. This, combined with the points above, would allow you to express things like player.inventory[0]["quantity"] = 1

    All these would be very useful. Also some kind of vector type for 2D/3D (3D would be viable to anyone doing anything isometric), so that vectors can be properly manipulated rather than having TONS of different variables and long expressions. support for angle / distance / dot / cross / normalization on these vectors, and the ability to recognize when the expression would have a scalar vs a vector result. The vectors can probably just be implemented as 1D arrays, so basically just add support for scalar products on any 1D array, cross products on 1D arrays (with dimension less than 4), and euclidean distance / normalization functions for any 1D array. It's not that difficult.

    These are all very basic features and the argument that construct users "dont need" this kind of functionality is kind of weak, games use data types to simplify code, whereas construct forces you to build things in boilerplate using floats and ints and basic types, and makes using proper complex data-types extremely annoying.

  • nadakbar

    It should be automatic but sometimes the emails get blocked. Did u check your spam folder? Otherwise you need to email davioware(at)davioware(dot)com with purchase details.

  • Prominent

    Noted, thanks for the concise list! It's been a while since I've worked on things and those quirks are things i need to get fixed for sure. As i mentioned im going to be moving to three.js r-73, so this will probably introduce new bugs (three.js is notorious for breaking changed between versions which makes it a pain to update), but it's worth it IMO. With the new version shadows will actually work properly with multiple lightsources, point lights can support shadows, and shadows will work properly with viewports/scissor test.

    I'm curious as to how you enabled alpha test. From my testing it had issues because it required shader rebuilds, and this introduced a lot of slowdown in the object pooling/recycling system I have implemented to keep things fast, this is the main reason I had it disabled. Would you accept if I left it fixed at something like 0.5 ? I haven't actually used it extensively so i'm not sure of it's main advantages, from what i understand it's to cut-down on fillrate but doesnt allow shadows to "see" through rejected pixels unless you use a custom depth material. The main issue is allowing people to change it through an action would heavily break optimization on objects which get it set. I'm not sure of how to go about fixing this, perhaps a behaviour to flag the object type for alphatest control? I don't want it to affect the optimizations on objects that don't need it and the SDK doesn't really offer flexible solutions for this.

    shaders work, they're just not documented because I did plan to change the system they use, and I think as it stands you can't include stuff like lights easily.

  • railslave

    adjust the camera far clipping plane. (note that you'll get a lower quality Zbuffer though)

  • Animations are pretty straightforward with events, just no good examples uploaded. I can't really improve them! I'll have to look into the alpha shadow stuff, It's a three.js issue though with how alpha test is implemented if i recall.

  • I'm going to be working on the plugin soon so if anyone has bugs to report that'd be great!

  • railslave

    there are expressions to get the normalized world space components of the "local" directions (i.e. the components of the rotated xyz frame defined by the axis helper) for exactly this kind of thing. you can also just use the "translate (local space)" action.

  • Yea, the three.js exporters are pretty bad with regards to animations, but they're all thats available at the moment. If i knew how to write one I would, but writing exporters isn't something i'm familiar with sadly.

    The community developing three.js have been making some big changes to how animation works with the API, so hopefully a better exporter will come along eventually. Three.js has moved along from when I last updated Q3D (development on three.js kind of stagnated at V-71 which Q3D currently uses) so hopefully when I get some free time I can update the plugin a little bit to fix some of the bugs which v-71 / chrome have.

    You should be able to just copy paste things like the quake guys, but obviously you need to be careful with the syntax.

  • you need to apply a skeletal animation behaviour to the model, and insert a Q3Dbone object. Make sure the Q3Dbone has a name which matches up to the name in the skeletal anim behaviour. From there running an animation through actions should be pretty straightforward.