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

Updated 18 days ago
StatusReleased
CategoryAssets
Rating
Rated 5.0 out of 5 stars
(22 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
gltfObjectTest.zip 6.1 MB
AlphaDiscard-1-0-0.c3addon 1.6 kB
GLBExample-2-14-1.c3p 4.8 MB
RuntimeLoad-2-15-0.c3p 10 MB
3DGLBLoadMaterial.c3p 1.7 MB
FighterPerfLayerLight3D.c3p 3.4 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.3 kB
lava_flow.c3p 100 kB
3DMeshPoint-1-0-1.c3p 6 MB
PrefabDemo-02.c3p 70 kB
3DObjectNodeDisable.c3p 1.4 MB
3DObjectWalking.c3p 2.4 MB
AnimationBlendTime.c3p 1.4 MB
LightLayerTest.c3p 34 MB
Rally Drifting Template 3DObject.c3p 2.2 MB
3DFlatLight-1-2-0.c3p 1.9 MB
TownScaper-fake-gi.c3p 586 kB
MorphOverride.c3p 498 kB
3DObject-2-49-1.c3addon 109 kB
SS3DLightsTest.c3p 1.4 MB
ss3dlights-1-2-1.c3addon 7.4 kB
ssao-1-6-0.c3addon 6.3 kB
ssao-color-1-0-0.c3addon 6.5 kB
LightLayer3D-1-2-2.c3addon 3.3 kB
Halloween3D.c3p 1.3 MB
Quaternion.c3p 2.6 MB
FoggySS3D.c3p (flashlight) 6.5 MB
3DImageTexture.c3p 5.7 MB
3DObjectSpriteTexture-2-58-0.c3p 1.5 MB
3DObjectFragLight-2-60-0.c3p 3.2 MB
OutlineGlow-1-0-0.c3addon 3.5 kB
AlphaDiscard-1-1-0.c3addon 2.2 kB
3DStatic.c3p 29 MB
3DStatic-01.c3p 29 MB
3DStaticG.c3p 73 MB
3DGPUSkin.c3p 26 MB
3d-gpu-skin-frag-light.c3p 27 MB
3DObject-2-73-0.c3addon 119 kB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

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

Hi. I don't remember when this might have appeared. I don't use this effect at all. i have only 5 different 3Dobjects on a location. 

I see a message in the console 

"plugin.js:130 [3DObject] shader mikal_frag_light-8 not found"

how clean it?

(1 edit)

Does it still render ok, or does it stop working? If it is still working, just ignore that message.

Ah.ok. Yes work fine. 

Hi, there! First of all, congratulations and thank you for developing this much needed plugin!

I am creating a 2.5D platformer, but, after implementing some basic functionality to make the camera follow the player, I noticed that the objects on the left or right border of the screen pop in instead of just being there. Any idea of how I can prevent that and make sure that objects within the camera view are always visible?

I've attached a gif to illustrate the issue. The issue is noticeable if you look at the floor close to the horizontal border the player moves toward.

Try scaling the bounding box using ACEs and also use C3 debug mode to check the current bounding box.

Thank you for getting back to me on this!

I tried setting the bounding box scale of those 3d models, but no luck. I even tried absurd numbers like 100, but to no avail.

Any other suggestions?

Did you try the bounding box scale ACE? Did you look at the objects bounding box in debug? Can you post a screenshot of that neat the edge?

Yes, I used the bounding box scale ACE. Here is a screenshot of a model at the right border, with its bounding box scale set to 2x:

I've noticed that this behavior during runtime is very similar to what happens to 3D models in the layout editor. Here is a gif to illustrate what I mean (I'm scrolling the layout manually with the mouse):

I don't know if seeing the same symptom happening in the layout editor might give us any clue, but I thought I should include this. Perhaps this is caused by some project setting?

Can you send me a simple test project with your models showing this issue? I can take a better look at it that way. Layout debug may not help since you can't use the ACE. I send sendgb.com to share files temporarily.

(1 edit)

secondary nodes seem to light weird. notice that when I export just one node (the sprockets here) they light fine on their own. any idea? (the turret is it's own object so is unrelated to the body) It must be related to my object as testing with the clerk model from your examples is fine. But I don't what property of my object could be influenced by the other nodes

to add on to this the model loads fine on the tester sites

How are you doing lighting? Is it enabled on all the objects? Do you have any shaders for materials? Bump maps, etc., are not supported.

there was no lighting but I figured it out. I had a mesh with a material but no texture. and that dark blue in the picture was the same base color of that material.

I don't know why it overrode other materials (and only on nodes not the first one selected) but that was it

Good job figuring it out.

i dont know where should i post this comment on 3D object plugin or 3D physic plugin xD, my question is how can i update bounding box while 3D object animation play?

Are you using gpu skinning support? You may need to use static geometry instead.

okey thank you!

hey I got this error after installing the 2-27-0 version

(1 edit)

Try the latest version uploaded.

https://kindeyegames.itch.io/c3-3dobject-alpha/devlog/828933/fix-addon-fix-corru...

Apologies if the addon was corrupted for you; use safe mode to uninstall the addon:

https://www.construct.net/en/make-games/manuals/addon-sdk/guide/safe-mode

thank you! it works now

I am getting an error and I am not sure what it means.

When I set the object source in C3 I get "error: gltf, unhandled bufferView, try exporting gltf without using sparse accessors"

The model loads fine on the tester sites. the error it gives me is "

0
UNUSED_OBJECT
This object may be unused.
2
/meshes/0/primitives/0/attributes/TEXCOORD_0

" But I Don't know what that means.

I uploaded the file I am testing if you wanted to look at it.

https://drive.google.com/file/d/1JPLh9YELbWTffP7mHefZT7v2FmyJtujR/view?usp=shari...

Hmm, you could try importing to blender and then exporting, but change the export properties to not allow sparse accessors.

(2 edits)

ah that was it. I did not know that was even an export setting. It seems to have been added in Blender 4.0 as this was never an issue in 3.0 up.
For anyone else that has this issue. You can find it here in Blender 4.X export settings.


Great, thanks for adding the picture.

Try this with the original file:

https://kindeyegames.itch.io/c3-3dobject-alpha/devlog/828684/fix-accessors-add-s...

that fixed the issue

thanks again

https://sendgb.com/UWXo3nvhNTx

, here is link...

(2 edits)

I see what you want to do, this takes some 3d math to do. I will add an ACE to set a quaternion, but then you need to do the 3d math to set it properly. Probably will add next week.

ok thanks

Ok, I looked and the ACE is already there. Use Enable Quaternion and Set Quatrenion.

Set quaternion uses this format: "[x,y,z,w]", where x,y,z,w are the values of the quaternion.

You can use JS to create the quaternion using the globatThis.glMatrix libraries, they are documented here:

You could try: 

setAxisAngle(out, axis, rad)

https://glmatrix.net/docs/module-quat.html

thanks

Hi, thanks for your reply, here is a test .....

https://drive.google.com/file/d/1Z3WFFDmTIyCTQur6u1Bz4tMStKRL2iF4/view?usp=drive...

original question....

I have tried every way to alter rotation but can't achieve this. please help.

(-1)

I don't have access to the file. I use sendgb.com to send files without sign in needed.

question about the NodePointPosition("name",num) expression.

How do you set a point on a model? if I load the model used in the example I don't see a point where the effect is.

It just picks a point in the mesh defined by the number and position of the point in the mesh list of points.

If you want to be more specific create a very small box and attach it to the model where you want the node to be, so that any of the points will be close to the location desired.

Also be aware that this may not work in gpu skinning. Instead use static geometry setting when this is needed.

Hi kindeyegames, 

Has the method of calling disable node changed since version "3DObject-2-71-7"? Disabling nodes with no animations models doesn't work now.

Please check the demo file blow with the latest version(2-71-8) and also "2-71-1"of the addon.

3DObjectNodeDisable.c3p

https://kindeyegames.itch.io/c3-3dobject-alpha/devlog/816403/fix-node-disable-fi...

It's ok now, thanks!

Great! Also any image to share from your game, always interested to see what folks are doing with the addon.

(2 edits)

Hi kindeyegames, 

I'm working on a simulation game about a children's playground, but it will take a while (only 30% of the progress is done at the moment).

Due to the fact that there are a lot of 3D models used (about 30 different models), the performance will need to be optimized again later on (the image only show 1/5 of the game as it is still being designed).

I'll share it with you later if it's done.

Thank you very much for the addon, it makes it easier to make 3D games!

Cool, looks fun!

Hello! I would like to be able to rotate a 3d shape eg prism, about a 60 degree axis (the blue line) to go from position A to position B in the diagram.

I have tried every way to alter rotation but can't achieve this. please help.

Can you share a test project with the object you are trying to do the rotate. It may be specific to what the 3d model is using for a 'center'

Hello! how can I change the appearance of a 3dobject during runtime? I have tried load material from sprite but I can't get that to work, and load material but I can't get that to work either. Thanks!!!

Hello, great addon! I would like to know it an axis of rotation could be set to 60 degrees, to rotate a 3d object around.

Not exactly sure what you mean, but there is a rotation ACE.

thanks for your message. I would like to rotate this red triangle about the blue line as an axis of rotation, is that possible?

In this case, try the ACE rotation with different values and see if you can get what you want.

Hi, I noticed an unpleasant bug, I load the character into the game and everything works fine, but if you add him to the Family, then his legs disappear

(2 edits)

Does the family have an effect or something like that? If so, can you say which one and if you want me to take a further look a small repro would help debug.

I've now overwritten it, it's not from the family, but because of the GPU settings skinning is True
I can't send the C3 project file here

You can send me the project via DM over at the Construct Community Discord server (to Mikal). If you are ok sharing a simple test project publicly, you can use sendgb.com to send files and share the link here.

The hero of the community!

Is it possible to influence the bones of 3D objects? For example, to make a ragdoll

No, it is not. You could connect separate 3d objects with physics / joints to make a rag doll though.

ok)

(1 edit)

Hello, can you show me using a small example in Construct 3 engine, how to display 3D models and animations for all players using the Photon Engine multiplayer plugin.

tried different options. And for the first person who entered the room, his 3D avatar is displayed, but for all subsequent ones, it is not displayed, as well as the animations that are triggered.

I do not use the Photo Engine plugin, so I am not sure what might be causing the issue. Does it already work using sprites for players instead of 3DObject?

(+1)(-2)

how to fix it? i (just tryed to export android game)

how to fix it?

This is not related to the addon. Pleaae contact C3 support.

(-1)

hi guys, who knows how to make a 3D enemy so that he turns on the player?

Hey Mikal, thanks for the great plugin. I'm getting some trouble with my objects when I use effects on them. Even the SSAO effects is bugged. I'll link an example with it enabled:

Try scaling the bounding box using the scale bbox ace.

SSAO is also meant to be used on a layer rather than an object.

It worked. Tysm!

Здравствуйте, я покупал аддон за 10$, сейчас он бесплатный, могу ли я получить доступ к другому платному аддону?

Hey kindeyegames, I'm not sure if you saw my reply to your request of a project file containing the bugs I had reported previously. Since the response was pretty deep in the thread, you may have missed it, but I did manage to put together a demo for you showcasing the issues I mentioned back then.

Here's the link to the demo just in case you didn't see it:
https://creativeed.itch.io/construct-3-3d-object-rotate-3d-bugs

Note that to catch some of the bugs, you may need to lower the camera
(+1)

thanks for sending again, I am working on gpu skinning right now, but can take a look at this next week 

Appreciate it, looking forward to it! Love your work.

Hi, im wondering why 3Dobject dont have conditions: 'Is overlapping another obiect' or 'on collision with another object' ?

I typically use 3DObject as a visual component and either physics for collision or a separate 3DShape for collision.

Hey Mikal, thanks for this great plugin. Can you add a feature like playing the animation from a place where we want to play it? It can be useful for animation changes.

IS there a fresh tutorial on how to use the plugin? construct is changed, blender is changed, and things don't work right as I see 

No fresh tutorial, but try some of the later examples.

but how to export models? I feel there is a problems with old method 

for blender gltf export all you need to do is uncheck +Y Up

(1 edit)

Hi, in the version "3DObject-2-64-0", when project "Max spritesheet size" set to 2048 or higher, will cause material rendering errors in some 3DObjects with “Image texture” checked. (previous versions were normal)

You can check the screenshot and example ".c3p" file below:

Bug_test.c3p

Thanks for the bug report and the example project to debug.

ok, I see the issue (when static geometry and instance tex) and know the issue - will work on a fix over the weekend

(1 edit)

Hi kindeyegames, 

I'd like to follow up on the progress of fixing this bug, as I've noticed that it keeps causing some strange issues. 

Currently it has come up again:

if the 3DObject is set to Static, when loading a material from sprite, some sizes of the sprite canvas (eg: 256x256) will causes the material to render incorrectly. 

This can only be solved by disabling the project's "Max spritesheet size". This may be the same bug causing the problem.

Please check the screenshot below, and the new .c3p file.

Demo file:

Bug_test_new.c3p

Yes, currently static does not handle all of the UV related actions (e.g. remap to sprite, etc.) I will take a look if is possible to adapt to static mode.

Hello awesome work, I have a problem using the plugin. When my character moves the camera scrolls and at the sides of the screen the polygons disappears. Any idea how resolve it?

Hard to tell why, is that a single model or multiple models? If multiple models, perhaps it is not rendering because C3 engine does not know it is onscreen. If you can share a simple example project, I can take a quick look.

(1 edit)

Hello, the floor is a 3d tile, compound by a lot of chunks. I will share the project and a video, I hope you can find a solution. The rare thing is this does not happen with the 3d shape object provide by construct 3. But obviously I prefer use your pluging. 

Thank you so much.

scroll_example.c3p

Try increasing the bounding box scale, using the ACE of the same name

it´s works, thanks a lot!!

Hi. Great plugin. Is there any way to play the animation of GLB object in reverse, or at least - to set the desired frame of the animation?

Those features are not yet available. The addon is open source and open to PRs /  changes.

Hi, there is an object rendering bug in version 3DObject-2-63-*, you can check the screenshot below:

the .glb file download link: 3DObject_RenderBug.glb

I have tested more than 20 Objects of similar type, and this Object is the only one with this problem. But in previous versions it was OK.

Can you help to troubleshoot the exact cause?

thanks for the test case, can take a look later in the week

try 26.2.3, fixed corner case of mesh size being multiple of batch size

Hi, it's ok now, thanks for the update!

Wow! That fixed a model I have in my current project! Thank you!!!

(1 edit)

Hello, I would like to report that the object pivot point becomes unaligned from the object when the object is placed on a layer with a Z Elevation other than 0.

(+1)

Wanted to show you something cool:



Trying to make the most of these plugins. You may also recognize your Glow Worms effect in action :)

I do have a question, would it be possible to get a rotate towards object action for the 3D Object?
I know that you already have that available on the Rotate3D Behavior, but I didn't obtain very good results with that, the object loses its center. (Also seems a bit redundant?)

I tried doing it myself, but wasn't able to get it to work properly. My best results weren't that good as I couldn't get the 3 axis to work properly, only X and Y.

Here's a drawing of what I'm trying to achieve:

(2 edits)

Ok I don't want to be a pain, but I do want to show you one last thing
^ ^'
I am having this issue when adding effects to 3D Object, and I am also getting this when adding Effects to a Sprite with the Rotate 3D behavior.

The object gets cut off either at the top or bottom (depending on object scale and Z Elevation.)

I did manage to work around this by setting the Layer Elevation of where I have the object to 1. But it just about works with the exact values I have for the object scale and whatnot, which is why in the previous message there is no visible glitch on the star. As soon as I change those values a little bit, I get the result on the video below.

One other problem that I get by having the 3D Object in a layer that has > 0 Z Elevation is that if I attempt to rotate it, it doesn't rotate on what should be its pivot point. (what I mentioned on the first comment)

I initially thought that this was a problem with Construct's 3D features in general, but I'm not getting these issues with the 3D shapes.

It would be great if these issues could be fixed somehow.

will have some time to look at this in a week or so, the addon is open source and we do take pull requests (approve submitted fixes)

(1 edit)

Thanks for looking into it! Very appreciated.
It would be great to be able to freely use effects without these workarounds. These things are mostly what's holding me back at this moment. Once I'm able to overcome these limitations I should be able to get some eye widening results.

Ok, have some time to look at this, can you please send a test project with the issues and a little explanation about what to look for in the issue?

Checking in again, if you still need help with this. If so, please send a test project, etc.

Hi, I tested the static models test and with 9  of the models I get 60 fps with static on and 30 fps without. On your very first test on the discord though(this one https://kindeyegames.com/stat/) I got 14-15 models with 60 fps, and 20-25 without. I have a 3060ti.

Interesting, I am going to make another optimization tunable and we'll see if it affects different GPUs differently.

(5 edits)

i tested too with a normal 3070 laptop, i got like 600-700k before going under 60fps. and 40-45 fps with 600-700k without static. 20-25 fps at 1.2m without static.

on the link cristo1 send https://kindeyegames.com/stat/, i got 900-1m before going going under 60fps, without static i get 20-25 fps with 900k+ and with 600k-700k i get only 30-35 fps. this one is performs way better with static than the other one, maybe even 50% better, but without static the other one seems to be better? weird lol, is it because the first one is rotating on another axis too?

(1 edit)

to make it easier to read lol

the c3p example

on - 600k-700k (60fps)

off - 600k-700k (40-45fps), 1.2m (20-25fps, 20%-25% better)

cristo1 link example

on - 900k-1m (60fps, 40%-50% better)

off - 900k-1m (20-25fps), 600k-700k (30-35fps, 10fps less than cp3 example)

Thanks for the data, I will be interested to hear what you see with the latest update.

Before I start a 3d project, is there any plans in the future for this addon?  Any plans to port it over to SDK v2? Same question for 3d Physics and 3d effects. If so, does SDK V2 have anything new that can boost performance? Like more polygons on screen? 

Staying on an older version of C3 that's still using SDK v1 isn't a problem for me though.

I will keep updating as possible, including if SDK V2 adds features to support them. SDK V2 as of now it doesn't have any performance improvements. It is more to control what addons are available and consolidate SDK and scripting.

(1 edit)

why i cant use effects? like ssao, LightLayer3D, OutlineGlow and other?

update: i just download “LightLayerTest.c3p” and “Foggy 3D.c3p” effects work perfect in this project but dont event appears in my

you need to use webgl in your project setting, disable webgpu.

thank you!

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

This is not available. If you have a small mesh at the end point of the angle, you could use the origin of the 3DObject and one of the points of the mesh, to calculate an angle.

This option doesn't work. When the object moves, the arm moves, to which I tied a small cube to indicate the attachment point. The sword is attached to the arm at x,y,z coordinates, but I need it to get the angle of the cube I attached to the arm so that the sword repeats the motion of the arm.

Are you doing to equip different weapons for a character? One way that I and others have solved this in the past is to add all the possible weapons to the model as different nodes/meshes. You then enable or disable the weapon nodes/meshes depending on what weapon is equipped. It works well and the performance is good, because only the enabled weapon is rendered.

(1 edit)

Hello, I have encountered a collision problem when rotating a 3d object along the Z axis. Is there any way to fix this? Thank you for your work.

I think in this case it would be better to use a separate sprite as a collision box and don't have the 3D object do collisions.

The separate sprite can be thinner and rotated.

In general I think this is a good idea, use 3D for the visuals and use sprites, etc. for collision, etc.

So will this addon break with the new construct update.... This sucks.

Hopefully not.

Ashley has said the V1 SDK (which this uses) will not be officially sunset for at least one year.

This gives us plenty for time to update it for the new SDK and I have also already requested changes for the new SDK to better support this addon

Yep it sucks... good thing 3D object and 3D effects, are the only ones I ever use. Let's just hope this addon still works in a year lol. Wanted to work on something later this year after all my studies...

Which one of those c3p examples are good to learn how to use this plugin?

What type of project do you want to do?

I just want to load simple low poly 3D model into C3. Nothing fancy. What I have is basically 2D game with tileset that generates world and I would like to spawn some 3D objects on top of that tilemap in order to make it look cooler. For example, in my game characters will always exit the level with van, so I would like to spawn Van model on exit location.

To get started and mapping a 3DObject to a C3 2D object, take a look at: 3DObjectWalking.c3p

If you have any issues, post  or DM your test project and I can take a look.

hi, how can i use ssao addon? I'm making a 3D game, I have a voxel map generation system and I would like to add some depth through ambient occlusion, but I don't know how to use this addon

I managed to run it, but it doesn't work very well on voxels :/

Works! I just don't know why all flat surfaces are dark, because only the corners should be dark

It an artifact of the style of the SSAO shader implementation based on the OG version from Crytek: https://learnopengl.com/Advanced-Lighting/SSAO

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 242 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.

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