0 Favourites

[Suggestion] Simple 3D objects

  • <img src="http://s28.postimg.org/75wo11e65/simple3dobjects.png" border="0" />

    Hello, I would like to make a suggestion for Construct 2 and/or Spriter

    I know that Construct 2 is a 2D engine and I agree with that (if someone want to make a 3D game, then he should use another engine... like Unity). This feature should bring games closer to 2.5D or at least improve graphically the game without requiring to know "real" 3D design.

    The concept is simple: As long as it looks and feel like 3D it doesn't matter if is only 2D . This concept was also used in older games <img src="smileys/smiley2.gif" border="0" align="middle" />

    <img src="http://s28.postimg.org/cj3vy4vlp/Cube_Textures.png" border="0" />

    The functionality is simple: Distort the images and place them together to look like a 3D shape.

    <img src="http://s14.postimg.org/4kplb4t8x/3_DCube.png" border="0" />

    Creating an 3D object should be simple:

    • Select the object shape (Plane, Cube, Cuboid, Prism, Pyramid, Sphere).
    • Select object's properties (Size, Rotation X,Y,Z, Opacity, etc)
    • Select object's textures or colors

    *Object's properties and textures should change depending on shape (example: the Cube will have 6 textures while the 3D Plane will have only 2 textures)

    <img src="http://s12.postimg.org/bj27921y5/3dcubesposition.png" border="0" />

    In order to make it easy to display the object, there should be 2 modes of viewing:

    Normal Mode that will use the screen position of the object in order to give its 3D look (image above)

    Isometric Mode that will show the object with Rotation X,Y,Z regardless of screen position.

    How will interact the 3D objects with the other 3D or 2D objects ? Simple, make a 2D collision for them that will also be their actual position in the editor/game.

    How the game would look:

    <img src="http://s10.postimg.org/bw6gnohyh/3dplatform.png" border="0" />

    How the collisions in the game would look:

    <img src="http://s27.postimg.org/8uisceayb/3dplatformcollisions.png" border="0" />

    This feature could be used for the following:

    • Insert 3D like object in games (power-ups, enemies, background buildings/houses)
    • 2.5D like platform games
    • Racing or old school GTA type of games (above view of the buildings)
    • 3D isometric world

    ... probably much more

    The greatest advantage is that it looks like 3D, but is not:

    • should work in both canvas2d and WebGL
    • does not require any 3D Api
    • should be easier to process than "real" 3D
    • should support all the effects that Sprites support

    Disadvantage:

    • Is rather limited so only simple objects can be made
  • Someone has already implemented the Copperlicht engine as a plugin. I'm sure there is also a 3D box plugin some where too.

    However I agree. I would really immensly enjoy this integrated feature. Because even with 3D there is no collision with other objects(I think). So it's not so good for platforming. However You can just put invisible blocks to make up for that.

    I have to say. You have done an incredible presentation of a suggestion. I hope Ashley does this. I do believe that 3D objects are still valid in a 2D game engine. Gameplay remains 2D, but we get the benefits of rotatable objects. So it's still a 2D engine. :)

  • You can piece that together with Rojohound's Paster object.

    The math's a little iffy, but hey its just 3d matrix transformations.

  • TGeorgeMihai

    Do you know of a website that already handles the code for this kind of 2 rendering.

    @newt

    If you have a sample using Paster I would love to see it :) I want to work on a demo platformer. But i'm super desiring the perspective angling that the OP is showing off. I wanted to do before. But my desire has now jumped :D

  • Oh nice, didn't realeyes that the Paster had the ability to draw quads!

  • jayderyu

    Yeah, no.

    You would be better off crowdfunding a webgl 3js plug imo.

  • Nope. niether paster nor canvas would be able to do the pseudo 3d shown by the OP. Canvas a little close. You could draw lines, but there really isn't away to do pixel by pixel work or demoformatino of an image.

  • [quote:1run7x68]Nope. niether paster nor canvas would be able to do the pseudo 3d shown by the OP

    Bold words.

    Anyway here's a wip using the Paster plugin like newt mentioned.

    /examples21/paster_3d.capx

    https://www.dropbox.com/s/1c4t63wvly3s2 ... .capx?dl=1

    It is able to do rotated cubes like the op's coin block. Notice however the distortion of the textures, we are just distorting in 2d so there is no perspective correction that you get when using true 3d.

    This is pretty much just a proof of concept and is lacking many things to make it useable for a 3d platformer.

    The main thing missing is polygon z sorting. This will be needed when you have multiple cubes or have sprites moving around them. Without this polygons will be drawn in the incorrect order.

  • I will stand corrected and I am in error. But that is because my error was not updating the plugin prior to checking. However not updating the plugin is also in my error :)

    Wel Rojo rocks :)

    however newt does have a point. tehre is a strange texture warping effect going on. anyway to smooth that out R0j0? Also then this raises the question.

    Since paster is a single object that allows qaud drawing. How would all of this interact to simulate the effect of the OP suggestion. As a platformer or a GTA top down perspective?

    Paster doesn't wortk as individual objects, but as a background.

    I think I will toy with paster 0.4 for a wlittle while. but any tidbits of information or even a sample would be awesoem

  • Played around very cool :)

  • Yup Rojo rocks.

  • R0J0hound

    Great 3D Cube example <img src="smileys/smiley32.gif" border="0" align="middle" />

    Also, these are some serious math formulas you've got there <img src="smileys/smiley20.gif" border="0" align="middle" />

  • Here's a further extension of the capx that does a 3d platformer like the op.

    It's rather cluttered but here's an incomplete list of what was done:

    z-sorting, shading, improved obj loader, multiple object loading, transformations on individual objects.

    https://www.dropbox.com/s/nwuqaz6xm9gjp ... .capx?dl=1

    /examples21/paster_3d_2.capx

    @jayderyu

    With c2's renderer quads are drawn with affine transformations so I can't do perspective correct texture mapping, or at least not easy. One way to reduce it is use more smaller polygons.

  • Well count me blown away. This near usable too. Wow R0j0 absolutely amazing :)

    So to use this effectivly for a game. I assume that all objects would also have to be pasted into Paster. I always liked paster and the potential. Now I love paster.

  • Construct 3

    Buy Construct 3

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

    Buy Now Construct 3 users don't see these ads
  • R0J0hound

    This is excellent, just asked for this some time ago... <img src="smileys/smiley32.gif" border="0" align="middle" />

    scirra.com/forum/Object-rendered-differently-based-on-variable_topic75654.html

    But i must say your example si not... NOT user friendly. I am stearing at it and i can't get what is what... <img src="smileys/smiley19.gif" border="0" align="middle" />

    I cant even find where are you loading those textuers from... <img src="smileys/smiley19.gif" border="0" align="middle" />

    Is there a way to make usage more newb friendly? ...like opening thread sugests?

    Tnx!!!!

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