What do I want to achieve? - A realistic floating island which rotates slowly and goes up and down. When a player jumps on it, it has to go lower giving a feeling that it reacts to player’s weight. It shouldn’t go down a lot if too many players stand on it meaning it only goes down for first time and then keeps doing the up and down cycle. If there are no players on it then the island returns to its original height.
What is the issue? I want things to happen smoothly which are not happening. I have only managed to get it to go up and down. Here’s what I have made.
What solutions have you tried so far? I tried changing CFrames and it works fine but it lags when a player stands on it while it is moving up and down. I don’t know more ways but a friend of mine suggested using body gyro which I haven’t used yet due to lack of knowledge.
I guess you could do a magnitude check or a region 3 check to see if any players are standing on it. A bit more difficult one could be using a script in the player(or on the server and goes through players) to check if they’re standing on the island. Also you could use a body gyro to keep it from spinning out of control, you can either use a script to constantly set the Y rotation force(to make it rotate horizontally) with the bodygyro or use a bodyangularvelocity(with the bodygyro Y force set to 0) and rotate it automatically through that. As for the floating you can simply use a bodyposition and have all the parts of the island welded together, and set once again constantly set the Y position of the bodyposition to go up and down.