QuaziGNRLnose's Forum Posts

  • tunepunk

    You can't direct it using euler angles, however you can set a direction with an XYZ vector which is essentially the same thing. You can use a dummy Q3D point, or the Q3D model you want it to rotate with it, e.g. if you want to specify euler angles set the raycasters direction to x,y,z=Q3Dpoint.nTx,Q3Dpoint.nTy,Q3Dpoint.nTz. and it's position to the object position. Just make sure its on an objects that isn't a child of other objects.

  • tunepunk

    Nice!

    3D is pretty taxing for mobile, but the best way to get increased performance is to avoid bone based animations and use morph targets (these run almost entirely in shaders so they can be quite fast), and to cap the resolution to something lower than the native screen resolution (in Q3D Master) since mobile GPUs lack the performance to keep up.

  • you need to write a shader that samples an area and redraws the sampled area in a flipped view, it's a bit involved but its the best way to do it. By shaders i mean "effects" in construct on a sprite.

  • It can be done through custom shaders.

  • tunepunk

    It uses version 71.

    I'm pretty sure they made some change to the file format, you'll have to use the old blender exporter in the 71 .zip file until I update.

    https://github.com/mrdoob/three.js/releases?after=r72

    There should be the relevant exporters in "three.js-master\utils\exporters"

    Because of the way three.js is maintained, it makes it very difficult to continually update the version because of massive breaking changes each revision introduces that require large amounts of code to be rewritten.

  • For TowerClimb we just set the fullscreen resolution to native, and scaled the game using a canvas on a top layer that captures the frame and is stretched using the distort map function on a canvas by altering the UVs to the proper size. This means we can get pixel perfect true scaling for whatever small resolution we want (we use 320x240) and not have to mess around much. Obviously this means you render more of the game underneath everything but it doesn't really impact performance. This seems to be the best way to get non-blurry point sampling and not rely on low fullscreen resolutions which are usually blurry because graphics cards today don't support point sampled fullscreen very well. It is a big work-around if u haven't thought of it from the beginning (you might need to do a lot of refactoring).

  • matriax

    Loading materials regardless of model filetype is done the same way: using specially named animations.

    You can find a list of the animation naming that is supported in the (incomplete) documentation : https://www.dropbox.com/s/vpn0mbh4m7lo9 ... .docx?dl=0

    .mtl files aren't really supported, and material info in .js files is poorly supported as well. This is because of poor standardization, there's no "useful" way to support them since material properties generally don't operate under some standard shader model across all platforms, so they're not very useful in Q3D / three.js.

  • Hi,

    has anyone figured out the following yet:

    Objects involved:

    Q3DModel applied 0.5 (or any) opacity, Q3DSprite is behind the model, desired render:

    Render outcome instead:

    Long story short, the sprite doesn't blend well with the model in front, actually it's more like destination over or something.

    Note that alphaTest = 0.5 works fine, but I need to blend both object types with this z-order correctly. Think of particle sprites spawned behind a glass wall, for example.

    Thanks & cheers!

    This is a standard problem with alpha in 3D rendering. you can get around it by playing with the depth settings (depthTest and depthWrite).

  • QuaziGNRLnose

    Is there a simple demo on how to get a 3D character model (w/ walking animations) to work in a 2D environment?

    I couldn't find anything like this in the tutorials.

    So in a 2D environment the camera angle on the 3D character model would be locked to a diagonal view, the actual Player object will be a 2D invisible sprite that moves, and the 3D model will just position itself on top of this invisible sprite at all times - so 3D character model would be for appearance only.

    There's no tutorial, you'll have to create a Q3Dmodel, bones/animations etc. and position it in a location with a transparent Q3D master using "inside mode", then move a camera to the proper location to line up all the views. This is also limited in that you'll have to have all 3D elements on the same "layer" in the 2D environment. It'd be better to build the game using Q3D models/sprites etc and make Q3D handle the rendering, if you wanted more control and simpler set up. If it's too late to do this, you can only go for the "single 3D layer".

  • My issues is that apply physics force to Z axis. the movement grid is X and Z and Y is Height. i can Move on X Axis. i can use local positioning but then is ignores Collision boxes. Pic of what i tried

    Pic of The Game

    Not sure what you're asking to be honest. It's best to avoid using the normal construct behaviors with Q3D objects as they aren't meant to work together (how are the 2D behaviours supposed to understand the 3D colliders they've never seen before). I see you have 2D physics and 8 Directions on some object, you should remove both of these and use "Q3D Oimo Physics", then implement the control logic with events. This is the only way Q3D supports any kind of understanding of 3D forces.

  • My very first Q3D test scene

    https://www.scirra.com/arcade/other-games/q3d-the-baked-room-scene-13979

    QuaziGNRLnose dear sir, would there be any way of accessing a mesh from the 3D scene?

    It would be nice if I could simply reference the walls that are already in a scene (not necessarily from another individual model) to add box colliders. Like maybe...

    ...so the "Model Meshname", if not empty (nor misspelled) *and* exists in the scene, would get used. Would be nice not having to recreate/re-position separate box colliders (for the floor and walls). Maybe a new "Q3D MeshBinder" plugin perhaps?

    Speaking of colliders, "Collider Fit: Model" doesn't seem to work.

    The boxes and the first platform (left) are primitives made by Q3D, the second platform (right) is from Blender whose (Q3D Model) collider fit property is set to "Model". The collider debug shows the correct size, but the box still falls through.

    Here is the .capx file (with the blender file in the Files Folder).

    http://crxmedia.com:9180/test/ss/BoxColliderFitModelTest.capx

    EDIT: Changing the values here...

    ... to larger XYZ values would increase the BBox and solve the collision issue, at the cost of changing the size of the model and negating the intention for "Collider Fit: Model". Sadly this would mean that I have to key-in the dimensions for every wall (and endure the tedium of object placements).

    Here's hoping it's an easy fix.

    Collider Fit is independent of physics, it sets up the collider for the "collision" actions that you can visualize with collider debug on the objects properties. Oimo Physics bodies have their own independent collider, which can be viewed with the appropriate debug option in the oimo physics behaviour.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Something is wrong with your plugin installation then, or your browser perhaps, try updating your browser. It's weird that you're getting such an error. Maybe you have hardware acceleration disabled / are using the canvas renderer or something weird?

  • QuaziGNRLnose

    Thanks!

    And yeah, I understand. Thanks for the suggestion! Why didn't I come up with that one earlier! :V

    Just set X,Y,Z of the camera to the Q3D Point right?

    Any way to link the camera's angle and tilt to the Q3D point? Because it uses different values for tilting and turning the camera.

    (Edit: Never mind! Silly me, I could just use the look at function. )

    I like to use two points that are in a container with each other, one for the target location and one for the camera location. Then it's easy to control things.

  • Mattertainment, looks good! The reason there is no camera object is because the cameras have special privileges that are difficult to seamlessly integrate with construct in a way which will interact between plugins (like the viewport / q3dmaster etc.). If you're handling a lot of cameras, I'd suggest making some kind of dummy object using a Q3D point or Q3D model to control them.

  • blurymind

    The plugin doesn't really have much room to grow, and is considered finished. I may release an update in the future if I find the time to finish it, however my current build of 2.5 is less stable than 2.4 so i'm not going to upload it since the features it adds are minimal.

    the Babylon plugin looks interesting, however i'd recommend anyone considering it to just use BabylonJS itself instead of paying for a plugin which partially supports it and construct 2. http://babylonjs.com/ is a free game engine/API/library for HTML5 with tools. The babylon plugin seems to just import scenes and directly wrap actions to javascript functions. Q3D is designed to interface with Construct 2 as seamlessly as the plugin SDK allows. I don't really consider the competition as a reason for me to act since the proceeds from this plugin at this point are minimal.