Mikal's Recent Forum Activity

  • Latest updates, 3D object support and Sprite mesh support.

    Available here: kindeyegames.itch.io/construct-3-cannon

  • I'll follow down the rabbit hole...

    construct.net/en/make-games/manuals/addon-sdk/reference/graphics-interfaces/iwebglrenderer

    What if there was a way to override all of these types of calls, including what is done in the C3 renderer.

    e.g. if C3 called Quad3D2(tlx, tly, tlz, trx, try_, trz, brx, bry, brz, blx, bly, blz, texQuad) it could be directed to a wrapper around a three.js call to draw a Quad3D2.

    This would be slower compared to what three.js render could do, but all of the normal C3 behavior might be available.

    Do it both in the editor and runtime, basically replacing C3's renderer, but use all the rest of C3 functionality.

    Translating a 3D model to C3, would probably just be represented still by a bounding box.

    Or is this the _worst_ of both worlds.

    ------------

    On a different topic in terms of textures, I am imagining three.js or babylon.js, etc. will be in a separate context, so we'll either need to ignore C3 textures and focus only on three.js textures or transfer them over outside the context and upload them to GPU again for the different renderer.

    As Skymen mentions, a big challenge does seem to be getting larger access to the C3 editor, to make a 3D editor to create levels during editing. Will there be a large increase in the editor SDK API surface for us to work with?

    For placeholders in editor, perhaps we could generate textures on the fly for things like C3 cubes, etc. which are 2D snapshots of the models rendered from each side of the model, fully lit. At least this way there will be _some_ representation of the models in the editor besides a bunch of black and white dice. For this, it would then be useful to pass the texture data in the other direction too.

    With vanilla C3 render for the editor as placeholders we might end something like the below, trying envision how useful it might be.

  • Ashley

    Here's another way to look at this, don't focus on the 3D aspect. These are requests for SDK V2 for existing C3 addons, so they can be compliant SDK V2 instead of using engine internals. Which you have stated in the past is a big goal for SDK V2 and justifies why you are requiring 3rd party addon devs to do so much work moving to SDK V2.

    It is not an ask to add new features. it is exposing to the SDK V2 functionality that already exists in C3, but we would to use it in a SDK V2 compliant way.

    How do we get to SDK V2 and port SDK V1 addons so that we no longer need to touch engine internals, if we don't have the discussion of what is needed.

    In terms of priority and not being able to do workarounds that do not use engine internals with existing SDK V2, we can review the list.

    The first one is most important, it can't be functionally done in SDK V2 yet, instead of using internal engine without the change.

    The second one on rotation would be very helpful, but is more of a performance focus.

    The third one is I hope is already in your plans, support SDK V1 functionality.

    The fourth one allowing access to mesh points rounds out the existing mesh SDK, but if needed they are work arounds like having a separate object like JSON shadow the points in C3, but seems to be a unnecessary complication.

    Can we reset and look at this from the standpoint of SDK V2 compliance and working towards that goal with this specific list of requests.

    Can you please comment on what is possible for future SDK V2 in this regard to help with SDK V2 porting of existing addons to make them compliant.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ashley yes I have tried (using babylon.js engine). It is not a good experience with C3. Rendering to one 2d plane does not allow for 3d to be mixed in front and behind c3 elements.

    Another large downside is that you cannot compose a 3d scene n the editor. It can only be seen at runtime. No level design in editor, no placement of characters or props where you can see them.

    None of the other C3 features can be used with the 3d objects rendered via js.

    My point is that this is the limited list of requests that will enable the community to do the work of adding 3d in an sdk v2 compliant way to C3, Scirra does not need to create a 3d physics engine or 3d model/animation system or 3d lighting and effects - these will be done by and supported the community, not Scirra.

    Our point in showing all of these examples is that we are already where we need to be to create great c3 3d games and edu apps, we don't need additional requests beyond making the current state of addons SDK v2 compliant.

    Please review the limited list above, if you have alternatives to these limited requests, please consider discussing them or if some are more possible to implement than others, the addons can be changed to adapt.

    This the SDK V2 work you mentioned before, working between you and addon devs on what is needed for already existing C3 addons to become SDK V2 compliant, so we can transition away from touching engine internals and make C3 addons forward compatible with future C3 changes. Lowering support requests for Scirra and offering other great features in C3 that Scirra does have the resources to do.

  • I think you'll have to make a suggestion / feature request for this. However, it might be because they want to keep the underlying data structure private to keep the SDK clean.

    Depending on your usage, you could just create your own JSON object or class and use it in scripting and expose it to events via C3 functions that use scripting.

  • Right now it still depends on use case. So, experiment with your project, try both renderers and see the results. Look at both CPU and GPU usage.

  • Ashley, can you please could provide your thoughts on this. I created a limited set of SDK V2 requests to enable community 3d addon development. What do you think of implementing the functionality of the SDK V2 requests in light of this?

  • I've done work like this with dynamic textures before (I made an addon that used the SDK to update a drawing object addon from a canvas). I tried it with a few different ideas, including 3D, Spine, Babylon and I did find it to be a performance bottleneck.

    The first Spine addon was something like that also, updating a C3 dynamic texture from a separate canvas / webgl context that was rendered by Spine. This was also a bottleneck which is why I jumped through so many hoops to implement spine webgl rendering direct to a C3 dynamic texture in the C3 webgl context. With SDK V2, the goal is to render spine with only SDK V2.

    I don't know if it still works, but here's the addon (it has an example of rendering to a separate canvas for spine webgl and then using that canvas to update a C3 dynamic texture in the addon.)

    construct.net/en/make-games/addons/312/elementquad

  • Dokse's example with 3DObject and 3D Effects (frag light)

    Subscribe to Construct videos now
    Subscribe to Construct videos now
  • Zero Protocol Demo - 3DShapes + effects

    Subscribe to Construct videos now
  • Smaads Escalation - 3D Shape, Mesh and effects

    Subscribe to Construct videos now
  • 3d shape, some 3d model, ssao

    Subscribe to Construct videos now
Mikal's avatar

Mikal

Early Adopter

Member since 22 Apr, 2016

Twitter
Mikal has 107 followers

Trophy Case

  • 8-Year Club
  • Entrepreneur Sold something in the asset store
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Popular Game One of your games has over 1,000 players
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x10
    Great Comment One of your comments gets 3 upvotes
  • Delicious Comment One of your comments gets 10 upvotes
  • Email Verified

Progress

20/44
How to earn trophies