Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Pixel Rebirth

103
Posts
1
Topics
28
Followers
15
Following
A member registered Nov 21, 2016 · View creator page →

Creator of

Recent community posts

That's sounds to me like the basic operation of frustum culling (which is true by default). So it's an engine feature.

You cannot instead you should try to create different model objects for each LOD level and switch between. Probably avoid destroying/(re-)creating and go instead for making things invisible and visible again.

I haven't actually tried this but this seems like the first logical approach.

Yes I do. It's gonna be most likely the last major addition before hitting 1.0.

(1 edit)

Thanks for bringing this up.

There was some bad oversight on my part. I uploaded version 0.97 anew with that error fixed. 

So please download again and replace the main plugin.

Hey!

Since the latest update your imported model can be completely excluded from picking by setting the property "Pickable" to false;

But you're right to assume that an imported model with different meshes can currently not be altered separately. 

I just noticed a related issue with picking against imported models. For submeshes it will actually return NaN and therefore won't be really useable. It's clearly something to think about for the next little maintenance update.

With the addition of a general mesh visibility action your suggestion would become fully feasible. 

May I refer you to the following topic: https://itch.io/t/5595165/how-does-the-skybox-work

By the way I simply resaved your model in Blender (exported again as glb) and now it behaves correctly with the latest version (0.97). So I think there was something odd about it before that caused the weird behavior.

You will have to edit the texture itself for any change in color. Skyboxes are a special case and you cannot simply set a diffuse color to tint them.

Although I've recently learned that using PBR material (the plugin uses standard materials everywhere) with the skybox gives you the option to tint via albedo color. So that might come into play at some point.

The action "Forward ray from active camera" does exactly what you're looking for. 

The corresponding condition is "On hit".

Hi there! 

Always cool to see actual games being made using the plugin. I'll be sure to check it out!

Number of lights that can be used with Babylon.js actually depends a bit on your hardware, but usually is realistically around 9-10 lights at the same time. You can check this forum post for more info on that: https://forum.babylonjs.com/t/light-material-limit/17391/7

Are you already using raypicking in your project? Cause that seems to me what you're asking for when referring to "laser". Let me know if I'm misunderstanding, but picking by ray is already very much available.

I get a feeling you missed the part where it says "Please DO NOT attempt to use this plugin as a substitute for an actual dedicated 3D engine." as you appear to be quite ambitious with your project.

There is no LOD support in Baby 3D and if you're aiming to make a bigger open world style game you definitely shouldn't use this plugin.

Surely there are things you can do like instancing and implement a system that hides (makes invisible) parts of the world that currently cannot be seen. I'm talking event work here not direct plugin features.

In any case please do not be overambitious right out of the gate when the plugin hasn't even reached 1.0 yet.

Without seeing the capx file of what you're currently doing it's hard for me to tell I'm afraid. 

Since there's a major improvement concerning the handling of models in general with the upcoming update I would implore you to wait a bit for that and see if it solves your issues.

Imported models are always pickable. There probably should be a property for this.

When you cast the ray the last paramter can exclude any model by UID. So put the UID of the player model there and it should work.

Exactly like shown in the example. You use the "Any ray" action followed by an event with the "On any hit" condition in which you can use the "hitZ" expression to get the height at that collision.

MSAA could be added easily. But currently there indeed is only FXAA. Can go on the todo list.

You can use raypicking to get the position of the ground beneath a character's feet for example which I believe you're getting at.

Did you check out the heightmap example which does something like this already?

You're saying it works fine on a different device with better specs?

Are you maybe trying to run it on an older device that doesn't properly support WebGL?

No worries. Well, yes. It is the plan to have full documentation for this after it matures (post 1.0).

Currently however there still is none.

Text will be an upcoming plugin or behavior. Stay tuned.

Well if you simply want to disable it for now you can search every occurance of "anim.enableBlending = true;" in runtime.js and replace it with "anim.enableBlending = false;".

That link didn't work for me but I'm pretty sure now we are talking about animation blending.

Currently you have no control over this and it's on by default. In the future you will be able to turn it on/off and set a blending speed.

I'm not sure what you mean by "smooth animation". Please go into more detail about what you're trying to do.

Please reply in english only.

Need clarification on what's happening.  Please share more info on your problem.

Manipulating individual bones belonging to an imported model is currently outside of the scope of the plugin I'm afraid.

Good catch I guess it's due to me not resetting the responsible asset manager properly. Most likely will also be fixed asap.

Well sure you could do stuff with the "Execute javascript" action of the browser object.

Referring simply to "BABYLON" works. You can access the scene when you use "b3dScene". 

Beware though such manipulations require good knowledge of the subject matter.

I'm sorry I'm not certain what you mean. Did you want to add depth of field yourself via direct javascript?

You're probably referring to depth of field. It's an available lens effect in Babylon.js and will be also added in the next update.

For a browser engine you're usually bound to monitor refresh rate for your maximum framerate.

Afaik there's no reliable way to change this. There are some flags for NWjs for example (--disable-gpu-vsync --disable-frame-rate-limit) which I tried in the past without success.

(1 edit)

Oh, I see. Skinned meshes don't behave correctly anymore when scaled inside Babylon.js.

It appears I can fix this by using a transform node instead of scaling the model directly. Which I'm looking to add to the next update planned for later this month.

If you want to circumvent the issue for the time being you can add "scene.skipFrustumClipping = true;" at around line 376 in the runtime.js file of the main plugin.

With the little bit of information given I would suspect there to be something wrong with the normals of the model or its export in general.

Is this a model you made or is it downloaded from somewhere? Did you further edit the model and export it again? Which format is the model?

Would be best for me to test myself. So if you can provide the capx or a link to the model please do so.

Hello, nice to hear from you!

To be honest you seem a bit overqualified to waste your time on contributions to this humble plugin suite. In general I'm not opposed to outside additions if they can be integrated with the existing stuff properly.

Not sure if you have anything particular in mind already or you're just spitballing. In any case you may contact me via discord (.pixelrebirth) if you feel so inclined. 

If you used the "Create decal" action with correct parameters it should work.

You need to provide a UID of a Baby3D mesh first which is the one the decal will be applied to. Then select a tiled background object that serves as decal texture.

X, Y, Z are usually used with expressions from picking actions.

What's definitely not working properly are the normals in many cases which is why the decal may appear smeared at certain angles. It's on the todo list.

When you see something saying "mesh.rotation.x/y/z" that's where rotation is applied.

It's true that beyond the automatic rotation around Z (actually Y axis in Babylon.js) depending on the C2 object angle an imported model can currently not change X/Y(Z) rotation. However these rotation options will be in the next update.

You can open any c2addon file as it's just a renamed .zip archive and see the plain javascript files therein.

Unless you already have a fairly good grasp of the Construct 2 SDK and also fair knowledge of Babylon.js I wouldn't immediately get into developing your own plugin that's supposed to work within the Baby 3D plugin suite. It's far from a novice task.

However you can of course study the plugins and behaviors provided and see how things are set up and ultimately learn how to change and expand things yourself. No doubt. 

Just please don't expect me to provide detailed guidance in such matters.

On the plugin site go almost all the way down where it says "Community". You can see all the topics and below that a button saying "Post a new topic".

I'd rather you create a new topic for such inquiries so other people can also profit from the information provided as it would be hard to find in some random devlog comment section.

So please do create a new topic for this. Thank you!