hello , i don't often post new topics , i try best to figure out things my own but this issue really.. no idea how to solve! i want to have a cube rigidbody to stay still on rotating circular rigidbody platform and i do not want to use friction and those stuff. i've solved this by applying same velocity at cube rigidbody by reading this info from the platform velocity at point. (see pic) yet the issue is.. the box always move slowly away from center... which is understandable due to rotation.. so i tried applying additional force towards platform center in order to maintain it's position and stop it from gliding away. so far, it minimized it's moving (Almost stop).. but still it keeps Moving slowly!!! i tried many math formulas and still can't stop it in it's place! i used this script at the cube: Code (CSharp): public class cubetest : MonoBehaviour { Rigidbody RB; Rigidbody theplatform; // Use this for initialization void Start () { RB = GetComponent<Rigidbody>(); } // Update is called once per frame void FixedUpdate () { if(theplatform==null)return; var vpoint = RB.position; vpoint.y=theplatform.position.y; var outterVel= theplatform.GetPointVelocity(RB.position); float radius = Vector3.Distance(theplatform.position,vpoint); float force = ( ( outterVel.magnitude ) / (radius*radius ) ); outterVel += (theplatform.position-vpoint).normalized * force ; RB.velocity=outterVel; RB.angularVelocity=theplatform.angularVelocity * 0.5f; } void OnCollisionEnter( Collision col) { theplatform = col.transform.GetComponent<Rigidbody>(); } } any help appreciated!
thanks for help, am really looking for "pure" physics solution that is implemented on fixedupdate. i want to keep physics interactions open without resorting to manually adjusting their position.
okay so it seems i solved the issue , which is honestly i didn't expect... just to share what happened.. it seems the friction was causing the issue,, i didn't even think that it is possible for friction to occur on two surfaces moving together at same speed.. so using physics material with everything zero-ed out solved it. with few tweaks in script.. now running perfectly
you want a pure physics solution, but you don't want to use friction? I don't understand. Friction is exactly the solution you need to stop it moving. Failing that, i'd parent it to the platform
yes i wanted to solve issue using pure physics which means no resorting to using translation/etc it's true that friction can aid.. but my target is to have more "predictable" physics..while not losing all of the physics juice! more like a character controller for the cube and for other uses in mind.