I cannot use collision groups as I’ll be creating a collision group that’ll allow players to walk through each other. I’m doing the CanCollide = false on the body parts to everything above the legs colliding with the map.
The one problem this allows me to walk through all the walls on my map.
It also has some weird effects like being able to walk under and out through my stairs, but I can walk up them.
The UpperTorso needs to have collision because this is what their internal code uses to check for collisions between the humanoid character and the environment.
I don’t understand why you can’t use collision groups based on this statement. This should be perfectly possible.
Players will not be able to collide with each other so I’m using a collision group for that.
When a Hider is hiding as a prop, my plan was to make everything above the legs not collide-able with the default collision group (not sure if this would have the same problem as I’m having rn).
This would require 2 collision groups, but as all the parts in the Hiders are already in a collision group to prevent colliding with other Players, I cannot make the second group.
Couldn’t you just change the player’s character to the prop they select (after adding a humanoid and setting its collision group to the players’)? This would allow players to have the same collisions as the props while still not colliding with others.
Apart from jumping onto it, I’m not moving. I get pushed off.
The Prop you see has a Head, Torso and HRP. They’re all the same mesh. I’ve changed the CustomPhysicalProperties so that it stopped bobbing whenever I jump and land though I had the same problem before that.
Of the Custom Character? I no longer have it as it wasn’t working how I’d like. There was also a small delay that was noticeable when you changed the Character to the Prop.
Welding the Prop to the part and doing the CanCollide stuff is seamless and there is no delay though like in the main post, there are some problems which I’m trying to fix.
The code posted to set collisions is unnecessary because those parts already have their collisions turned off. The only parts that have collisions enabled in rigs are torsos, heads and root parts.
Collision groups won’t be effective for parts with CanCollide set to false since they can only be used on parts with CanCollide set to true, but I don’t understand why you can’t use CGs for the aforementioned list of parts? You can easily make it so that players don’t collide with each other while being able to move around on the map.
Create a collision group. Set all BasePart descendants of a character to this collision group.
Make the collision group unable to collide with itself, but able to collide with the Default group.
Done. One collision group, can’t walk through other players but can walk on the map.
As for the “strange behaviour” of being able to walk through walls and on top of stairs, your character is being kept up from the internal downcasting done to keep humanoids above ground.
Can you explain how I can easily make players not collide with each other while also making everything above the legs of Hiders not collide-able with the map?
Pretty sure that requires 2 collision groups or doing the method that I’ve been talking about which has problems such as walking through walls due to how internal code checks for collisions.
I’m guessing I might be overcomplicating it? But I’ve been trying to figure out a solution since yesterday and haven’t.
Just re-read your edited reply, that’s not what I’m asking for.
I want players to be able to walk through each other and everything above the legs for Hiders cannot collide with the map.
Cannot collide meaning go through (I keep having to remind myself)
I don’t think there’s any easy way to do that without redoing your morphing paradigm or trying something completely wild.
Right now, from the code you posted, I assume that you’re using a full character rig. When a hider changes into a prop, the prop is welded to them and the rest of their body is made invisible. I’m often accustomed to prop systems removing legs to avoid the issue of collisions.
As far as making players not collide with each other, CollisionGroups are the only real option you have (and an excellent option at that). That’s off the table. The remaining concern is to prevent anything above a player’s legs from colliding with the map then. Huh.
I don’t believe I have any concrete solution for that, aside from what I mentioned. Using two CollisionGroups may not to be your favour. I would’ve suggested splitting characters into two CollisionGroups; one for the upper and one for the lower body.
How much of the torso do you need not to collide with the map? Are you able to keep LowerTorso with CanCollide, or do you also need that not to collide? I feel like you have to fight against the backend of Humanoids while also trying to figure out this issue of collisions.
Just tested with the CollisionGroup idea that you said, sadly I can’t use that as it pushes me around the map (I tried with making them not collidable with the Default group, then tried putting all the parts in the map in a Map collision group, but same outcome.
I talked to the creator of Blox Hunt and he said he removes the legs on the R6 characters in his game.
I tried that with R15, but even when the HRP was set to cancollide = false they weren’t on the floor. I tried changing the HipHeight but even at 0 it was still above the ground. I couldn’t find a right value, it just went instantly from being okay but still above the floor to pushing me about (even when still ablove the floor).
You see, the thing is that I know this is possible because I’ve seen it done before. I just can’t quite figure it out. I spent about 30 minutes trying to create a repro based on this last night to see if I could figure it out; I haven’t quite been able to crack the code yet.
The sliding effect is a side effect of hip height being too low. Most likely you’ll want to change the density and elasticity of all of the collidable parts also to prevent bouncing. I’d also suggest setting HipHeight to anything above 0.1 because a HipHeight of 0 causes problems.