ambiera logo

Ambiera Forum

Discussions, Help and Support.

folder icon Ambiera Forum > CopperCube > Announcements and Showcase
forum topic indicator Particle System Collisions
person icon
guest_Robbo
Guest
Quote
2025-09-22 04:25:28

With quite a bit of work (as usual with CC) I have now successfully added in default particle collisions and particle rebound is also available according to surface angle.

Its been tested working quite well (for the most part).

Any 3d node can to allocated to have particle collisions and I might add a setting to allow the entire scene to have collisons also if you want...

Comming soon....

person icon
Monks
Guest
Quote
2025-09-22 08:47:06

That's great news !!!

person icon
Zandorum2012
Guest
Quote
2025-09-24 12:25:32

Could you please by any chance add something like "make jump" from jic's binary and gravity as a node property prayingemoji prayingemoji

person icon
guest_Robbo
Guest
Quote
2025-09-26 05:36:49

Now you can use particle collisions in your game.

New 'ccbSetSceneNodeProperty' properties available are:

Collsion - true/false (turn collisions on/off)

MaxBounce - 0-100 (max number of bouces accepted before deletion)

Impact - 0-10 (decrease or increase speed on impact using float, 0.5 = half speed on impact)

Download this and all previous updates on Itchio:
https://robo25.itch.io/coppercube-apis-version-2

See YouTube video on this also:
https://youtu.be/VmwGTqGvUZE

person icon
smnmhmdy
Registered User
Quote
2025-09-26 11:34:13

This looks incredible! The clouds look absolutely amazing and adding collision support to is a great idea.

The atmosphere of your project is phenomenal, especially when it rained the attention to detail was incredible, very great job on that!

Can't wait to try out all the features in your binary, thanks for all the hard work you've put into this!

person icon
Monks
Guest
Quote
2025-09-26 16:28:58

Very exciting update, thanks a lot Robbo

person icon
guest_Robbo
Guest
Quote
2025-09-27 05:47:13

Thanks smnmhmdy & Monks, much appreciated.

I will next work on being able to turn off fog for specific nodes - like the lightning which was obstructed by fog. The code exists already in CC source - just need to get it working. I know there a a shader way to also do that but will try the default option first.

I will have to add a lot more lighting on the lightning strike and so some more stuff to add but its coming along....

Zandorum2012 - make jump - I havent seen that yet in JIC binary - actually havent used his version yet. I did offer to combine all efforts with him into single binary but he denied it for some reason. What API does he use for that and what is the result you seek ?

person icon
Zandorum2012
Guest
Quote
2025-09-27 10:30:36

hey, checked out the footage, particles with collision looks awesome! great job!

"make jump" is a command from JIC's binary spelled ccbMakeSceneNodeJump(node, force), it makes jump any node with "collide when moved" behavior, even if it's midair (if you also make the gravity for this node equal 0 for a split second), insanely usefull stuff.

yes i remember that happening, actually it was quite strange for just_in_case... of all people... to refuse to collaborate on making a good thing, but he probably had his reasons to do so (and we still love him to death).

i really recommend you to check out just_in_case's binary, he added lots of new usefull commands! it's now called coppercube++ and it can be found on his itch page. i don't think he would mind if you took some inspiration from it (but maybe if you want to make some analogs of his commands it would be cooler to ask his opinion)

person icon
just_in_case
Moderator
Quote
2025-09-27 18:03:33

@Robbo great stuff,

I actually don't mind if people wants to add something similar to their own binary file, but I just don't have enough time to collaborate on anything.

Anyways, if anybody wants the API to make scenenode jump to have their own custom binary then here is the code that I wrote for my binary. Feel free to use it however you want. It's very basic and simple though.

Just add it as a new Scripting API command in your cPlayerScriptLib.cpp file


long CPlayer::ccbMakeSceneNodeJump(irr::ScriptFunctionParameterObject obj)
{
// this extension function was contributed by Vazahat (just_in_case) for the Coppercube game engine and can be used freely
irr::io::IAttributes* attr = LastPlayer->Scripting->createParameterListFromScriptObject(obj);

if (attr && attr->getAttributeCount() == 2)
{
irr::scene::ISceneNode* node = 0;

if (attr->getAttributeType(0) == irr::io::EAT_STRING) // to directly use the nodename instead of pointer
{
node = LastPlayer->Scripting->getSceneManager()->getSceneNodeFromName(attr->getAttributeAsString(0).c_str());
}
else { node = (ISceneNode*)attr->getAttributeAsUserPointer(0); }

// For jumping, we find the collision response animator attached to our node
// and if it's not falling, we tell it to jump.

float jumpForce = attr->getAttributeAsFloat(1);
if (node && isSceneNodePointerValid(LastPlayer->CurrentSceneManager, node))
{
const core::list<ISceneNodeAnimator*>& animators = node->getAnimators();
core::list<ISceneNodeAnimator*>::ConstIterator it = animators.begin();
while (it != animators.end())
{
if (EFAT_COLLISION_RESPONSE == (ESCENE_NODE_ANIMATOR_TYPE)(*it)->getType())
{
ISceneNodeAnimatorCollisionResponse* collisionResponse =
static_cast<ISceneNodeAnimatorCollisionResponse*>(*it);

if (collisionResponse->isOKToJump())
{
collisionResponse->jump(jumpForce);

}
}
it++;
}
}
else
LastPlayer->Scripting->getIrrlichtDevice()->getLogger()->log("Can not make scenenode Jump, provided scenenode is invalid");
}
else
LastPlayer->Scripting->getIrrlichtDevice()->getLogger()->log("Can not make scenenode Jump, Wrong amount of parameters");
if (attr)
attr->drop();

return 1;
}


person icon
guest_Robbo
Guest
Quote
2025-09-28 02:56:35

Nice one just_in_case - good to see your still around as you have added so much to the community over the years.
I will try add your code into my own so people like 'Zandorum2012' can also use it.
Will add a credits section as appropriate also for you.


I just finished making a global/non global fog API so you can actually make use of the individual material settings for fog or no fog as you like now without having to use a separate shader to do that.

ccbSetGlobalFog(true/false, node);
Enter false for unique fog settings (non global) and (optional) terrainNode to allow terrain fog (recommended).

The new Cloud scene node now comes by default with fog on so yes, this works now.

My lightning strikes look so much clearer with no fog applied...
Itchio updated with new API also as of just now...

person icon
guest
Guest
Quote
2025-09-28 04:30:51

godot doesn't ask you to pay anything, rob-bo

person icon
guest_Robbo
Guest
Quote
2025-09-28 06:09:42

Sorry if you feel giving someone a very small token of appreciation is unacceptable - even like $0.75 USD - what does that say about you ?

FYI - Godot gets a lot of contributions for your information to pay core developers to improve it (over $50k per month) - they dont work for free. If you feel 75c makes all the difference then use that instead.

Also, be man enough to use proper user names also and stop hiding behind generic logon names like 'guest'.

person icon
vp
Guest
Quote
2025-09-28 14:41:39

Impressive stuff, looks great Robbo. Your Saturn game is coming along leaps and bounds; each new feature is like a milestone in its development. Your attention to detail and performance is inspiring.

person icon
guest_Robbo
Guest
Quote
2025-09-30 10:12:51

Thanks VP, im very slow with my game actually doinfg almost everything else first with the engine.

Reasonably happy with the engine features now although need to either hard code post processing into the source code or work out how to limit the framrate whenh using an Action with RTT as its cant be controlled atm.... cheers

person icon
guest_Robbo
Guest
Quote
2025-09-30 15:24:11

I just updated small fix for fog while using particles as seems Niko never invisioned using per material fog but only global fog with everything.

I made a change to particles that wont affect global fog settings. Let me know of any issues at all and will take a look...

Seems fine on my end...


Create reply:










 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


icon_holyicon_cryicon_devilicon_lookicon_grinicon_kissicon_monkeyicon_hmpf
icon_sadicon_happyicon_smileicon_uhicon_blink   






Copyright© Ambiera e.U. all rights reserved.
Contact | Imprint | Products | Privacy Policy | Terms and Conditions |