To support continued development and maintenance, please consider donating 

Buy Me a Coffee at ko-fi.com

(4 of 496 users have donated)

This plugin loads a 3D Model into Construct 3, similar to the new built-in 3DShape plugin, but the 3D object can be a more complicated 3D model, loaded from a 3D model file format and texture. It also supports 3D animations.

It only supports gltf embedded and glb formats (preferably with an embedded texture in the file, a separate texture png file can also be supported.)

Please leave feedback or tag @kindeyegames on X or Mikal in the Construct Community Discord.

Known issues

  • The bounding box may not fully track the model with rotations.

3D Model file requirements:

It's highly recommended to set 3DObject projects to 'regular' z-axis settings.

  • It's highly recommended to set 3DObject projects to 'regular' z-axis settings.
  • Must be gltf/glb embedded format and embedded texture (png, jpg formats are ok)
    • The texture can be embedded in the gltf/glb or supplied as an image in the c3 editor, but the gltf/glb file must have a material referring to a texture if it's not using a solid color.
    • Do not include other non diffuse textures (e.g. normal map, bump  map, etc.) in the gltf/glb embedded files if possible, they are not used, but would still take up memory.
  • It's highly recommended to set 3DObject projects to 'regular' z-axis settings.
  • Be aware of the 0,0,0 origin relative to the model center (affects rotation center and position.) This can be changed as needed with the Set local center ACE.
  • Be aware of the relative scale of the model in model units. This can be scaled up/down with the Set scale ACE or property and xScale, yScale, zScale (note that these are divisors, to match C3 zScale property.)
  • 3D models are available on CGTrader and Turbosquid, but you may need to find the ones that have gltf and texture support. If there are multiple textures, usually look for the ones labeled diffuse or albedo. These will be the base color textures (e.g. not normal maps, bump maps, etc.) You can only use models that have one diffuse/albedo texture or multiple textures. (If you have expertise with blender you can load a model with multiple textures and then bake them to a single texture and export texture in the gltf embedded/glb file.)
  • If a model you use is not available in gltf file format, try loading the model into blender and exporting with the gltf embedded or glb file format.
  • Merge multiple animations into a single file gltf/glb file.
  • If you are importing fbx to blender consider using plug-in to improve fbx import to blender: https://blendermarket.com/products/better-fbx-importer--exporter

Debugging 3D models

  • Load gltf/glb model into: https://sandbox.babylonjs.com/
    • Does it render correctly, have texture, animate correctly
    • Check textures, material, animations
    • Check scale
  • Load model in https://gltf.report/ - check for errors / validation
  • Check the 0,0,0 origin point of your model in a 3D modeling program (e.g. Blender), center your model as needed.

Performance notes

  • Use just a few low polygon models (in the low thousand range, if you have a lot of models, move to the low hundreds range)
  • Animating models require additional performance
    • You can control the animation rate to reduce the required CPU performance.
  • Bake down to a single texture (using 3D modeling tool like blender)
  • Use solid color models without texture (will save texture memory).
  • Use a smaller texture map to save GPU memory (2k x 2k texture takes up 16MB, 512x512 is 1MB)
  • If you are baking texture in blender, consider also baking in AO (on model only), this can give more depth to the model. AO Tutorial

Some more (From @meta comments on CC Discord)

  • Do fake shadows with just sprite
  • I you want shadow and light formations in your 3D model texture, you need to texture bake with combine bake type.
  • At the same time reduce the number of triangles of the models by editing the meshes and investigate this bake type as high poly to low poly bake.
  • You will see more things. The result you need to achieve at the end of the day is to achieve a 30k poly effect with low poly models with wonderful baked textures reduced from 30k tri to 1k tri.
  • I suggest you to design your whole scene in blender beforehand and do the lighting there and bake it, and I suggest you to use only 1 material for each 3D model.
  • Also generally use 256x256 for texture sizes, 512x512 is ideal for things I care about detail
  • See WoW examples for great baking of texture with low poly geometry

Basic usage:

  • Use project setting z axis scale 'regular'
    • This sets the z axis scale to the same scale as x and y, which is better for 3D development (and you also can control the project FOV.)
  • Add a 3DObject to the project
  • Add gltf embedded file or glb file to the project (preferred to include texture in the embedded gltf/glb file)
  • If you are using a gltf/glb with an embedded texture (preferred) set the image editor to a solid color, otherwise:
    • Open 3DObject image editor loads the texture file into the image. Note image size must be larger than the Project's setting for spritesheet size (e.g. 512-4096), resize the image larger if needed in the image editor.
  • Test! You can use the normal position ACEs to move in x,y direction and position related behaviors should work (though I tend to lock the 3DObject with other sprites w/ behaviors using events)
  • To change z position, use the setZ elevation ACE (other behaviors or actions which affect zElevation should also work, e.g. sine behavior, drag and drop, etc.)
  • Set the zHeight to match the relative zHeight of the object (used for C3 3D viewport clipping.)
  • Please post feedback and pix/vid of your tests.

Advanced uses: read the dev logs and look at their associated examples.

Future state if this goes well:

  • *DONE* Support multiple instances of one 3DObject
  • *DONE* More animation ACEs (end of animation trigger, etc.)
  • *DONE* Add expression for current animation time or frame.
  • *DONE* Blend between animation changes
  • *DONE* Support multiple textures
  • *DONE* Support solid color
  • *DONE* Runtime load model (single load allowed)
  • *DONE* Load different model for different instances of the same object (single load allowed, allocates memory on CPU and GPU for each instance.)
  • *DONE* Dynamic change of a mesh's material (e.g. change a mesh's texture)
  • *DONE* Support correct rotation (for mixed multiple node types)
  • *DONE* Improve bounding box and z-height regions for rotated models to prevent early clipping.
  • *DONE* ACEs for setting animation blend time.
  • *DONE* Enable 3D flat lighting in worker animation mode.
  • *DONE* Morph targets
  • *DONE* Review SS3D Light, changing texture color w/ white lights.
  • *DONE* Add vertex snapping (int vertex values) retro mode
  • *DONE* Can other parameters (angle x,y,z, etc. be added to timeline)
  • *DONE* Enable lighting baking / update lighting in worker animation mode.
  • *DONE* Add flashlight example
  • Add ACE to preload 3d models at startup w/o draw.
  • Review worker animation mode causing issues on ios also with audio and possible crashes
  • QoL:
    • AnimationTimeLength
    • AnimationFrameLength
    • Reload model in editor if gltf path changes
    • *DONE* On animation <name> finished
    • *DONE* CurrentAnimationSpeed
    • Add worker mode support for lighting


Big thanks to r0j0hound on the Construct forums for sharing the gltf parsing and animation code which I used as a base for the gltf integration in this plug-in.

Fire elemental model credit: https://sketchfab.com/3d-models/fire-elemental-05fe96ef7fca472ba0bf753686216002

Again, please leave feedback or tag @kindeyegames on Twitter.

A great video from @FozzleCC describing details of how to use 3D models with the plug-in. If this video is useful for you, please support FozzleCC on his Patreon: https://bit.ly/PatreonFoozleCC

Note one change since this video was produced, it is now recommended to embed textures in the gltf / glb files and 3DObject will use them directly from the file, there is no need to load them into the 'image' of the 3DObject. The image can be left blank or filled with a solid color for easier identification in the event sheet.


If you want to go directly to specific subjects in the video, please see the timecode links below:

0:00 - Intro
2:31 - 3DObject Plugin Overview
6:48 - What is GLTF?
7:40 - Blender Intro
8:53 - Where to get 3D Models?
9:59 - Extracting Unity Asset Store Assets
15:21 - Sketchfab and Blender Reference
16:46 - Merging Multiple FBX Animations in Blender
22:35 - Associating texture to model in Blender
24:33 - Export GLTF from Blender
25:29 - Import GLTF into Construct 3
28:43 - Bake Multiple Textures to One in Blender
34:41 - Setting up Lighting for Baking in Blender
40:56 - Importing Baked Texture Model into C3
42:43 - Getting Free Animations from Mixamo.com
43:23 - GTLF Viewer & Debug
45:27 - Tips on Using GLTF Models & Performance
47:04 - Improve Performance with Blender Decimate

StatusReleased
CategoryAssets
Rating
Rated 5.0 out of 5 stars
(19 total ratings)
Authorkindeyegames
Made withConstruct
Tags3D, construct, construct-3

Download

Download NowName your own price

Click download now to get access to the following files:

DancesWithPigs-2-2-0.c3p 17 MB
AlphaDiscard-1-0-0.c3addon 1 kB
GLBExample-2-14-1.c3p 4 MB
RuntimeLoad-2-15-0.c3p 10 MB
3DGLBLoadMaterial.c3p 1 MB
FighterPerfLayerLight3D.c3p 3 MB
3DObjectCannon-1-0-0.c3p 857 kB
RocketCannon-1-0-0.c3p 17 MB
3DObjectDC-1-0-0.c3p 566 kB
fxaa-1-0-0.c3addon 2 kB
lava_flow.c3p 100 kB
3DMeshPoint-1-0-1.c3p 6 MB
PrefabDemo-02.c3p 70 kB
3DObjectNodeDisable.c3p 1 MB
3DObjectWalking.c3p 2 MB
AnimationBlendTime.c3p 1 MB
LightLayerTest.c3p 34 MB
Rally Drifting Template 3DObject.c3p 2 MB
3DFlatLight-1-2-0.c3p 1 MB
TownScaper-fake-gi.c3p 586 kB
MorphOverride.c3p 498 kB
3DObject-2-49-1.c3addon 109 kB
SS3DLightsTest.c3p 1 MB
ss3dlights-1-2-1.c3addon 7 kB
ssao-1-6-0.c3addon 6 kB
ssao-color-1-0-0.c3addon 6 kB
LightLayer3D-1-2-2.c3addon 3 kB
Halloween3D.c3p 1 MB
Quaternion.c3p 2 MB
FoggySS3D.c3p (flashlight) 6 MB
3DImageTexture.c3p 5 MB
3DObject-2-58-0.c3addon 113 kB
3DObjectSpriteTexture-2-58-0.c3p 1 MB
3DObject-2-59-0.c3addon 113 kB
3DObjectFragLight-2-60-0.c3p 3 MB
3DObject-2-60-1.c3addon 113 kB
OutlineGlow-1-0-0.c3addon 3 kB
3DObject-2-61-0.c3addon 114 kB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 192 · Next page · Last page

Hi, I've currently got an issue with 3D models being completely white when using replacesolidcolor as an effect. This seems to be related to the recent stable update of Construct 3 - R388.2 is this something that I should report to Scirra or something that can be fixed within the plugin?

Can you try it on 3DShape and see if you see a similar issue between different C3 versions? If you do then yes file a bug. If not, send/post a test project and I'll take a look (you DM me on Discord or post a link to a test project here.)

I have an issue in the construct 3, When I put the 3D model the editor simply crashes, I have to avoid looking at the object if not the editor crashes. 

Perhaps a bad model or bad format? Can you send the project and/or the model?

Also please make sure you are using the latest version of the addon and C3.

Deleted 11 days ago

hi, i tried a new 3d model but didn't work again, the 3d model that's i use is:https://sketchfab.com/3d-models/formula-1-car-animated-low-poly-free-866b7c6ddb3...

i got it from sketchfab and downloaded as .blend archive, after that i joined the parts and exported as gltf, when i imported to Construct 3 the editor crashed again, the mensage was:

Error report information

Type: unhandled rejection Reason: Error: attempting to construct out-of-bounds Float32Array on ArrayBuffer @ loadGLTF@blob:https://editor.construct.net/cdf7acda-4e1c-43ad-9551-19b72b124471:206:26 Stack: loadGLTF@blob:https://editor.construct.net/cdf7acda-4e1c-43ad-9551-19b72b124471:206:26 Construct version: r379 URL: https://editor.construct.net/?startTour Date: Mon Apr 15 2024 20:10:00 GMT-0300 (Horário Padrão de Brasília) Uptime: 35.7 s

Platform information

Product: Construct 3 r379 (stable) Browser: Firefox 124.0 Browser engine: Gecko Context: browser Operating system: Windows 10 Device type: desktop Device pixel ratio: 1 Logical CPU cores: 4 Approx. device memory: (unavailable) User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0 Language setting: pt-BR

WebGL information

Version string: WebGL 2.0 Numeric version: 2 Supports NPOT textures: yes Supports GPU profiling: no Supports highp precision: yes Vendor: Google Inc. (Intel) Renderer: ANGLE (Intel, Intel(R) HD Graphics 400 Direct3D11 vs_5_0 ps_5_0), or similar Major performance caveat: no Maximum texture size: 16384 Point size range: 1 to 1024 Extensions: EXT_color_buffer_float, EXT_float_blend, EXT_texture_compression_bptc, EXT_texture_compression_rgtc, EXT_texture_filter_anisotropic, OES_draw_buffers_indexed, OES_texture_float_linear, OVR_multiview2, WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_s3tc_srgb, WEBGL_debug_renderer_info, WEBGL_debug_shaders, WEBGL_lose_context, WEBGL_provoking_vertex

i have this issue on mobile c3d and in another computer.

Can you send me the test project or send me the gltf/glb model you are testing?

The Mega Nz link is here: F1Model

This is an incomplete gltf. It does not contain embedded textures. I suggest using the glb format instead, this includes all necessary data in one file.

For the gltf version you would need to make sure it embeds all textures and buffers in the gltf file itself.

This is mentioned in the text on the itch page as is the suggestion to test your files on https://sandbox.babylonjs.com/ before use.

(1 edit)

Hi, the addon seems to work great in preview but having trouble exporting, NW.js just shows a black screen and WebView2 says "failed to register window class". Never seen this, any ideas?

For some reason disabling minification fixed this for anyone also stuck

Hello, i ran into a problem, the 3d objects don't' show in the editor, but in the preview it appears just fine, any ideia how to fix it

Just try reloading the project. Currently it does not update if the path is changed between different models.

(1 edit)

hi, after 3d plugin update i have problems with editing my game, i think it was problem with something in my project. i open one of your examples and also i have problem. When i edit events in Evens Sheet nothing happen, when i switch tab to layout with 3D objects this screen appear

did you add a new model? I have not run into this particular error before, but the comment non power of 2 tiled textures not supported is interesting and might be due to a specific model, texture, texture type being used, hmm. can you please let me know which  of the sample projects also causes the issue? in the meantime do you need help getting a previous version of the addon?

hi! i prepare two videos, first is from my project:  take look when red screen appears, when 3d object is visible on screen

second video is  downloaded from your examples, only few cause error (set time scale of video to 2x

I hope this help you, maybe older versions maybe help solve problem, can you add to download few previous versions? i will check them and let you know. Kind regards!

Thanks for all of this I made of a few of the older versions available.

This provided some great hints about where to go look. Thanks for all that testing, very much appreciated. Unfortunately I am like Scirra, I am a small group (1 person :) ) and need my users to help me test :)

Ok, I took a look at this. These examples work on my set up and after tracing some stuff down, it looks like you are running the editor using webgl1 and not webgl2 or webGPU. The image textures trigger the issue, because they are non-power of 2. and tiled/repeat. WebGL1 does not support non power of 2 textures with all modes (e.g. tiled / repeat mode).

My suggestion is to work using webGL2 in editor and runtime. If that is not possible, you need to make all your textures power of two, where ever these issues show up.

Do you think 3d object and 3d effects together are stable enough to release games with? Do you recommend not using 3d effects yet?

I think it's ok, but if you have some different platforms to try a slice of your game on, that's always good to do.

That is very good work ! I've a 3D model that is a part of mountainous landscape and I'd like to make an interactive manipulation of that landscape. ow can I use touch/pan/swipe to move, zoom and rotate this model ?

Sure, I would look more at controlling the C3 3d camera around a static model.

Thank you ! Actually, I was also interested in having the object move in front of a static camera.

for static camera you can use set rotation and set scale ACEs

Would you have any demo file showing how to do this ?

No, but just try out the ACEs for set rotation and scale, they rotate and scale the object, which seems to be what you are looking for.

(3 edits)

Here is test, I think it looks cool. 

Looks great!

I'm making an advance wars style strategy game, started 2d but will started to add 3d for the battle sequences.

Nice!

Hi! I have a rather complicated case, but I would like to get help with it. I have 2 (or more) instances of one 3dObject, both use a texture with an alpha channel (in screenshot No. 3), but only one of all instances correctly displays the inner part (reverse side) of 3dObject (in screenshot No. 1), the other does not display it, it happens only on some faces the object (in screenshot #2). Is there any way to fix this or is it a mistake? Thanks!

Ah, this is tough one. I presently don't do anything special with sorting faces based on average depth before rendering, so objects with transparency / alpha are hard to deal with, because they may render out of the order needed by transparency (canonical 3d / transparency issue.)

If you are just rendering a cube though, depending on the orientation, you may just want to try 3DShape w/ the textures you want, if I remember correctly, for the simple cube case, C3 does sort as best as it can.

(1 edit)

Unfortunately, in my case it will not be possible to use 3D Shape, at this stage of development the models are very different (in screenshot 1 and 2 with triangulation).


In addition, I want to use bone animation to get the result as in my other projects on PlayCanvas.

video 1:

video 2:

I think solving this problem will really help in developing interesting and beautiful games on C3.

May I ask if this area of 3d Object development is a priority? 

I am ready to help with the work on the plugin, but unfortunately I do not have sufficient programming skills.

Thanks!

I might be able to work on this in a couple weeks, the sort would only be for one mesh, not between meshes and it would happen on the CPU. It would also require all rotate, scale, transform operations be done on the CPU too (normally they are done on the GPU). This can put a heavy load on CPU. It is a difficult problem with how we can render using C3.

If we could get at the pre-draw shade we could do screen door.

I am open to other ideas on it, also since it is open source other PRs (other people submitting code/changes).

(1 edit)

This is great news! I will be looking forward to new updates of 3d objects and continue working on the project. Thanks!

It works fine for me? I dont get this problem. 

The problem is displaying the back face of an object when there is an alpha channel in the texture. I added a few screenshots, the difference should be better visible there

yikes, i'm already optimizing as much as I can to keep cpu low. this scares me lol. i wish we could use gpu more

The possible fix I am talking about above would be optional to help with the transparency case. It would be enabled per node/mesh.

Try putting it on the topmost layer, and 3D distance for the Draw Order.

I have tried this, in this case only one instance of the object will be displayed correctly

Check out the new screendoor dither in the frag light effect. it definitely has its own artifacts, but might be interesting for this case.


Frag light is a separate itch project.

Hi! Trying to add ssao-1-6-0.c3addon on the latest version and somehow it doesn't work? Or maybe i'm not able to find it on the effects tab?

Or maybe an example that uses it?

Nevermind, Touched somethings on the settings and managed to make it work!

Perhaps you were using webgpu, right now the effect only supports webgl

Is there a way to when I change the model on the properties bar to instantly update on the editor? From one model to the other? I find that i need to keep exiting and reentering construct.

Not right now, but on my list to update, it's just a tricky/old part of the code, doing the initial load and initialization), I might take a hammer to it though and just blow away the whole object and try initialization again. Will try an experiment tomorrow.

Hi. Will there be an option to control the bones separately?

Probably not unless someone has an example and commissions the work from myself or another dev.

out of curiosity how much would a commission like this cost?

If it is beyond curiosity and discussing for an actual commission, we would need to discuss details. You can find me on the Construct Community Discord. Estimates for simpler bounded work is easier. This feature not so much.

Is there a way to make vertex colors work?

https://www.mediafire.com/file/wl6fij2evb5sn3f/123.glb/file

Using this model for test. Do I have to bake?

Sorry, I wish there was, it is a C3 SDK limitation right now, I and others have requested for the feature to be added to the C3 SDK.

Yes, need to bake for now.

Ok thanks.

hi, i attempted exporting games that use 3d models with this plugin in the past and always ran into a blackscreen error when exporting with NW.js. i searched previously on github and the c3 forums and found that NW.js had a bug that was causing this. just checking if theres been any updates on this bug and if exports are hopefully working?

(+1)

Try exporting without worker enabled. As far as I know, this is a general C3 error, not 3DObject specific.

(1 edit)

What's this zelevation0 for? 

(+1)

obsolete, have to keep it so it doesn't break old programs

Is there an option to display vertex colors?

(1 edit)

Unfortunately no, the C3 SDK doesn't support that (and we have asked a few times)

Hi. How can I get an angle of the node?

There is not a function for that right now, I will look at adding it in the new year.

(1 edit)

Is it possible for the gltf path to have a drop down list of all the names of all the glb and gltf in the Files for QoL? Kind of like instance variables.

I have not run across a way to do that in the C3 Editor SDK yet (the editor SDK is quite limited compared to the Runtime SDK.

Do you still have this template available?

https://www.construct.net/en/free-online-games/fps-template-3d-goodies-47450/pla...

That uses a paid template, if you buy the template and I get a verification from the dev, I can give you my modified version. Just let me know.

To be honest, I only wanted to study the template because of the night vision flashlight effect, was that a modification of yours, or is it from his template? If it is yours, would you have a template, any template, that uses this type of flashlight? (it doesn't have to have the night vision effect) I'm creating a PSX Horror, and I just wanted to create a flashlight of this type, but I couldn't, so I wanted to study a template.

Pretty simple it was ss3d light with a spotlight in the center, with green color and ambient dark green color + pixellate 

I'm really having a hard time with this lighting part, I tried to use ss3d to create the flashlight but the way I think of doing it isn't working. That's why I'm looking for a template to study. I don't care if you charge me for it, but could you provide me with any template that has this type of working flashlight that I can turn on and off?

https://twitter.com/kindeyegames/status/1673439254016565250

(2 edits)

Hello, first of all congratulations on the great work you've been doing for the C3 community, I recently acquired 2 of your plugins and my head is bubbling with ideas with the possibilities that have opened up and I'm already developing a project... I'm managing to work well with 3D so far, but I'm having a hard time understanding how the illuminations work. Even looking at all the examples you've provided, I can't create some of the things I wanted to.

For example, I'd like to know how to create this type of lighting:

And I'd like to know if it's possible to create this type of lighting on 3D signs or in some other way: 


And my last question, is how I could create a more realistic Lantern... I saw on your twitter this example https://twitter.com/kindeyegames/status/1673439254016565250 that you posted of a test, and is it currently possible to create something the same or similar?

Thanks in advance.

(2 edits)

C3 SDK and effects do not support very good lighting. So, we have to do a few compromises. For flat lighting of the 3DObject, you can have multiple lights, including spot lights. However, the only work on a per face basis. So, for example on the building above each side is a single face with texture, so each face only have a single light value for the entire face, so you won't get nice liking like you have above.

You could subdivide the walls into many triangles and it could start to look like the above, however, that requires a lot of performance to do. I find that the 3DObject lighting works best on a little more complicated, animated models.

This lighting is world space lighting (e.g. the lights can be placed in the world and they work as expected as you change the camera location). These are ACEs of 3DObject.

The other option is the screenspace lighting. This lighting is done by looking at the depth normals of the screenspace and using though to determine lighting on a fragment (e.g. pixel) basis. It look pretty nice, but it has the restriction that the light _will_ change as the camera changes orientation (the lighting is _not_ world based). So, in general it works better for some ambient, distant lighting and lighting sources that are coming from the direction of the camera. This is an effect addon.

Some other ideas to think about: bake in lighting on 3d models. For example in the above, if the lighting doesn't change you could bake the lighting into the textures in blender, etc.

Okay, that helped me understand a bit, I think the idea of doing the lighting on the textures is valid and simpler to do.

Is there a way to clean the console logs? I have way too many 3d objects there.

do you have the debug property checked?

Nope, all unchecked.

ok, thanks for the example, I'll look into it today

https://kindeyegames.itch.io/c3-3dobject-alpha/devlog/646135/fix-log-remove-some...

(1 edit)

Thanks, all clean.

(3 edits)

i will start to play around lighting now.i didnt really follow ur updates but, is there directional lights yet? like a directional light that bakes for every object on start of layout?im making a big city and i want to light every building evenly at start of layout. only bake not realtime. and didnt you have one for sprites billboard>? what happen to that one

a prebaked direction light for each 3d object at any angle would be a cool option , is it possible?

You can apply lights per object, if you need a common light, I usually use a family for all the objects and apply lights ACEs to the family. Look at the devlog for flat light updates and examples. You can bake on start.

The version for 3DShapes was just an experiment, in general it takes too much CPU and was a monkeypatch (hack to C3 engine.) It has been removed - I was hoping Ashley would help us adopt it and make it more efficient, but he declined.

nice examples, i understand how to use it all now.

Deleted 135 days ago

Hello! Can i use custom collision shape with your plugin ? Can i use image point with 3d object? Can i navigate in scene free like in Unreal?    This is very raw i think, and  canot be useful for serious game.


Where i can read a documentation or instruction?

This a 3d model renderer addon for Construct 3. It is not designed to handle 3d collision, 3d camera management. The information on the addon is in the itch page, dev logs and example projects.

(2 edits)

Is this effect possible to do? Seeing the character on other side of wall while the wall is 100 opacity. Or do you know a way how this can be done? 

EDIT: Nevermind. I think destination out is the answer, but it sucks with 3d camera lol

Yah, that's tough. Perhaps another option is making the foreground opacity lower for objects in the way. Can use 2d los or 3d raycast to determine which objects. Another alternative is to see Foozle's example which does WoW style camera and brings the camera forward so it's no longer blocked.

theres one in the discord like this,it looks like this effect.

any chance of a 3d raycast?

(+1)

Check out my C3 3D Physics addon: https://kindeyegames.itch.io/construct-3-cannon

Hi. The game crashes on smartphones. There seems to be a problem with resource allocation, how to fix it? The person and environment models are from kenney. 
Link:
https://s3.eponesh.com/games/draft/1116/v17/

Make a test demo? or share the file? Your game is crashing for me too on PC.

it's not about the project, there is a leak of RAM.  

(3 edits)

That is weird. I have latest update and that doesn't happen. Need to see your events. Does it happen when you delete the character from layout? Can you upload the model with the problem? I want to test it.

EDIT: I found it nevermind. I will test.

EDIT: I tested 100 on screen no problem.

(1 edit)

It helps most if you can provide a test project case, so I can see exactly how the addon is being used. For example, using a lot of instance model without using a template for them will cause GPU memory to grow.

For an example of prefab/template, see https://kindeyegames.itch.io/c3-3dobject-alpha/devlog/459808/example-prefab-project

Hi, I'm working on working on skybox right now and just wanted to ask if your starfield clouds effect work with 3d? Is it an effect for a sprite or does it cover whole layout? Can it be used on 3d box? If it does, do you have one with just clouds? Im looking for one kind of like this https://www.shadertoy.com/view/4tdSWr or thishttps://www.shadertoy.com/view/XslGRr

Nevermind, I found your cloud addon on the main site. I will play around with that one.

Can I somehow hide the individual parts of the 3d model? There are several types of weapons tied to the character's hand and they need to be hidden.

(1 edit)

Node disable, look at the dev log regarding this.

In my case, it doesn't work, I enter the node name and nothing happens, I'll throw an example later

Just saw your new rotate object addon, thanks. I will now be returning to c3 lol

(5 edits)

Hi, lost my old account but, I bought this last year but I have been in gdevelop since and thinking about rebuying this and coming back to construct. Gdevelop 3d is good with threejs addon but the engine itself is just annoying and worst in every other way. I just want to ask has the instancing got better on this? Like in gdevelop I was making a 3d vampire survivor clone and 500 (1k poly) enemy objects runs fine, but I remember on construct with this addon, I lagged with only around 40-50 objects. I know constructs renderer isn't really meant for 3d but did you ever find a way to make instancing better? Im not making a vampire survivor clone but I would like npc's walk around a town in an rpg game. So like 50 (1k-2k poly) npc with a city also.

Some of the 3d games people are working on in the discord got me fired up for a 3d rpg lmao. If a better instancing isnt possible I understand, will still come back to construct and just make city in 3d and have the characters as 8 direction billboard. I tested one of the uploads there for 8 direction rpg style and was able to make 1000+ characters on screen np. Which is weird because ive tried the same thing on gdev and massive lag. Seems like gdev performance for 3d is better than construct, but constructs 2d and collision performance is waaay better than gdev.

(3 edits)

50 objects low poly is fine. You can do some optimizations like set animation rate to 0 or object invisible when its far away or behind walls if you want a lot of npc.

Also, not a lot of games has over 50 character/npc/enemies on screen. I made tests and 100 on screen isn't a problem which should be enough for 95% of game genres. Games like the Ps2 Dynasty Warriors games give an illusion of 1000s of units, but in reality there's only like 40-50 enemies on screen at once, further ones aren't visible and the Ai is so basic. Creating smart enemies that uses collision checks and loops and stuff usually is the performance killer if not designed correctly. Gdevelop can display 1000s enemies sure, but will lag once you start giving them behaviors or collision checks. 1000s of static object instances like trees in the background is nice tho, something Gdevelop is good at.

(1 edit)

Yeah ik. Just want things to run at full speed even for lower end machines too. 40 on screen is fine,but like you said, I might need many trees lol. Will test for myself. Playing with billboard sprites for now instead of 3d characters.

(1 edit) (+1)

Made a cool aiming mechanic where the camera only turns when going out of the aim bounds. Free aim style and hit detection using layertocanvas, but more suited for a robot game/bullet hell style. My next game after I finish my current jump on head platformer lol.

To anyone who wants bullet zelevation to work, its just player.zelevations - target.zelevation

Nice, especially for sniper like play.

hi kindeyegames ,just wondering, are you making any games with this or you just make addons?

Working on some 3D prototypes with this. My game company itself is focused on a MMORPG which is 2.5D, using my Spine addon for skinning and animations. We use C3 for the client side.

ah cool. good luck on it

2.5d like Ragnarok online? I loved those graphics. Wish more people used 2.5d, I loved that look. I'm working with 2 other people on making a 2.5d visual novel but after, I would love to start a 2.5d platformer like the Prinny games. Something like this looks very possible now in Construct.

That game 100% possible to make now. Actually it's weird that there isn't an influx of 2.5D platformers now that it's so easy to make.

just thought of a good game idea how to use this. there was this ghost in the shell game for ps1 where your a robot and u can scale walls and ceilings and stuff. this aiming looks good for it. hit me up if you wanna collab or something.

Just watched gameplay for that and..... that looks difficult lol. If you figure out the math on how to do that walking on walls/ceilings with camera rotating stuff then sure. I'm just amazed something in the Ps1 days could do that.

Which file am I supposed to download? There are so many!

(1 edit)

Download the 3DObject-2-53-1.c3addon file, most of the rest are examples or additional effects.

Look at the devlogs for some discussion of the examples.

(+1)

https://cristo1.itch.io/vertex-test

Is this suppose to work or do the models need the keyframes? Left one is rotating using set rotation, and right one is blender animation. Should I just give walls a really tiny animation in blender? 

Trying to get this look on the walls.

Also, for anyone trying to make Ps1 style games which Construct 3 is now, we are basically Ps1.5 lol. This is interesting.

https://www.david-colson.com/2021/11/30/ps1-style-renderer.html

(1 edit)

In terms of the look - are you talking about the textures (they seem to be changing resolution based on distance, like switches between nearest mip level). Or are you talking about something else? Also very low viewport resolution overall w/ nearest and no scaling (e.g. display must be integer multiplication of the original, letterbox integer).

Yeah, when the textures kinda snap to different mappings as you move closer and further away, but I tried Duckstation emulator with 4k and geometry fix, and it actually looks good when only the characters have a little bit of jitter and the wall/floor textures don't snap around. Low res also looks good but my game needs you be able to see into the distance clearly for far jumps. Will upload a demo after I fix some bugs.

Do you use nearest for your texture in blender and for your project? Have you tried both of those? If you have a demo project  and models, I can a look too.

(7 edits)

Sure, this is what I use for graphics test, but I have another problem that's kinda important lol. Why is this lagging while turning or jumping when looking at all the enemies when its clearly over 60fps? 

https://www.mediafire.com/file/p4jgumuwdtu1pu0/LookTest.c3p/file

Like turning with the arrow keys and jumping. Standing still looking at enemies, theres obv no lag. Also no lag when turning without enemies on screen.

I've tried it also with mouse movement and regular rotate angle with same result. Car behavior is actually the less laggy one lol.

Retested with more enemies at 30 fps, and its exactly the same as when its at 90+ fps lol, ZERO lag when not moving camera or jumping.

Weird, because it looks like its only the movement lagging not the animations for 3dobjects. It might be Construct's way of handling timedelta and fps?

I'll experiment and see if there's a way to smoothen camera so it doesn't look like its skipping frames. 50fps+ should be way smoother than this, maybe a motion blur can hide it.

Also have workers off so it drops fps more.

A little hard to tell, since this is a perf case, I do note that with worker animations on on Mac, I get a smooth 60fps and it looks good. It might just be scaling number of models?

(1 edit)

When I change a  3d objects gltf path to something else, the current model does not change in the editor without saving and reloading Construct again. Is there a trick or work around to make it show the new paths object without reloading Construct? Like some sort of refresh but without refreshing whole site.

Yes, that's an old issue, having to do with the unsophisticated ( :) ) way I did the model loading in the editor. I'll put that one back on my list to take a look at, it would be a nice QoL thing.

Would be very nice. Also, idk if possible but, when replacing a object with same name would be amazing. Constantly editing in blender and overwriting the same object to make stuff match each other lol.

Can you please add more details about the same name request? I am not sure what you mean.

When you make a edit in blender for your model (like color change) and you replace the glb with the edited one. The change doesn't update in the editor.

Ah, I see. I'll need to check if I can detect that. Before that, I have on my list updating when the file name changes. If that becomes available, this should be doable also.

Hey! happy to say that with the newest update with webview2 comes with no errors exporting with workers enabled. For comparison, this is my exported game with the latest nw.js. BLACK SCREEN + CREATEOBJURL ERROR. So happy to finally ditch nw.js lol. My game actually feels a lot smoother too.

Nice! Thanks for the report! I definitely interested in the new webview2 +  webview2 c++ addons path, exploring it myself also.

Also looking at the thread on the issue in nw.js, not obvious that it has been resolved yet, mixed reports: https://github.com/nwjs/nw.js/issues/8075

Still broken, but I see Ashley responded. Would still be cool to have this fix to have different export options, and nw.js still is the only one with transparent steam overlay.

any way to make sides like this to look like flat shading? kinda like this but nicer lol.this would be a cool addition to ssao, i put sampling at .1 and moving camera left to right looks pretty cool.

(1 edit)

Try fake global illumination example?

EDIT: This is probably the best way for the flat colors effect your trying to get, just adjust light angles at certain angles.

yea iknow but that light doesnt change on ur camera view like ssao. seeing stuffs flat shaded where ssao would normally be would be cool

(1 edit)

Nope! Don't think ssao will ever work like that lol.

(1 edit)

kind of, but the big issue is that ground plane angle is typically such that it gets heavy ao applied too, so the ground becomes dark, which I imagine you don't want. Will look a bit more over time, but definitely don't count on it. Of course an alternative is to use the flat lighting ACEs on 3DObjects directly.

yea dont really need this, just thought would be a cool effect for ssao

(2 edits)

any way to do this like cristo example without giving animation to building? 

https://streamable.com/fififa

Try setting the original texture in the model to nearest and use a low resolution texture and have the project also run nearest. In addition, you may try adding some slight jitter to the camera view.

i think i found a cool look thanks.

What about performance update? Do you have any progress?

I am focusing on other features and bug fixes now. Do you have a specific game / project issue that the community could help review in terms of perf?

I love your plugin, thank you for creating it, I'm trying to upload my file to construct 3 arcade but since I can't upload 3D models I'm trying to get the models to load by uploading them to a url, how can I upload a model through the url, I've tried everything in google drive dropbox but it does not recognize the file when entering the url, some help please, I am developing a 3D multiplayer game


Icono de Validado por la comunidad


(1 edit)

To upload to c3 arcade, try adding an additional.  ".txt" to the glb/gltf filename in the project and change path to match. Good luck with your game, send a link when you can. 

You may also need to use gltf format instead of glb.

Thank you very much, I was able to upload the game thanks to your mode, my game still has a long way to go and bugs to resolve since it is the alpha version, it is only the bases, Thank you very much. I send you the link

https://www.construct.net/en/free-online-games/power-rpg-c3-3d-online-24422/play...

nice! i like the turn base battle transitions when you enter battle.

is it possible to use this addon to make a regular 3D shape rotate on the z axis?

No, it does not interact with 3D Shape. You can make models of the same geometry as 3D shape and load yhem into 3D Object and do the rotation as needed.

Note 3D Shape already rotates on Z, but not X/Y.

the vertex rounding is so cool! since the ps1 graphics is popular right now. would this effect only work with models with animation? does non animated stuff like walls or buildings work? will test after i build my pc

You might want to do some other things too, like lock the 3DCamera to rounded x,y,z coordinates, similar for object locations, similar for rotation angles and camera angles, try it out!

Just saw and tested this, I love this look! I can't get it to work on trees or walls without animations though. Is this possible like in this video? At 3:50. Or something that makes textures look crooked. Tried rounding stuff, nothing really worked out.

o,o. Gives horror game vibes. How is the cpu usage? Any fps hit?

(2 edits)

You have to turn it off when the object isn't near your camera view. You wont notice this from a distance anyway. Without turning it off though, around 15 highish poly animated models(8k+tri) onscreen at once, the cpu is 10%-15% increase and fps drop is up to 15-20. I don't know if its the same with non animated stuff, I can't get it to work to test. Haven't tested with low poly models either. Should be pretty good performance unless your making a game with 50+ enemies on screen at once, which would probably still be okay with lower poly's and good optimization techniques.

Perhaps lower resolution? Nearest textures in model?

I'll just use blender and move uv around for crooked textures. I gave the buildings a tiny animation that move sideways, now to just stop it when camera isn't moving much. Pretty sure this isn't the best way to do this but it still works lol. Will definitely use this to create ps1 style game after my main game.

Right, the textures in PS1 are not perspective correct, perhaps you can play with 3D Camera FOV (dynamically?) and also changing between orthogonal and perspective for the 3DCamera

Viewing most recent comments 1 to 40 of 192 · Next page · Last page