- Home /
Rigidbody2D with interpolation lags while moving by velocity, how to solve the problem?
I have created a new 2D project and I have a single sprite in the scene with a BoxCollider2D and a Rigidbody2D.with gravity scale set to 0. and the Rigidbody2D's interpolate is set to "interpolate". I attached the script below to this game object:
using UnityEngine;
using System.Collections;
public class TestGo : MonoBehaviour {
void Start () {
Rigidbody2D rb = GetComponent<Rigidbody2D>();
rb.velocity = new Vector2(10, 0);
}
}
the problem is that when I click play,the game object moves with a constant velocity but it vibrates and lags from time to time,I expected with setting interpolation to "interpolate" the problem would be fixed,but it still remains :( Does any body know how shoud I fix this?
FYI, I am using Unity 5.3.4p3 with a personal licence,and my target device is Android. tnx in advance.
Does the lag happen just as the beginning or continously? That code should not cause a jitter. Are you using an older computer or are their other applications running?
Oh, I'm really sorry for answering late.This lag does not happen in the beggining and it does not happen continuously. It happens about every 3-5 seconds. Although my computer is a bit old,but I do not expect that a totally empty scene jitters for only "one" game Object which has this script! Besides,I built an android version of that and tested it on LG G4 and Sony Xperia Z1 phones ,and a Galaxy Tab A tablet, and I still experienced the problem :( plus,No process consu$$anonymous$$g application other than unity is running on my PC.would you please reproduce this and test it yourself? I am about to think its an internal problem with Unity3D :D What do you think? How can I overcome this? Oh I forgot to mention that in the profiler window I see nothing strange(I mean, I dont see any high peaks in the profiling diagrams of CPU or GPU in the exact time of jittering ).I only see that the FixedUpdate of physics engine has relatively a higher process rate which I think that's natural. I am looking forward to hear from you.
I can't reproduce it. Can you send me a copy of the project that is having the issue? Feel free to send it to mike at unity3d.com. Also, could you make a little video showing the problem and send it to me or upload it to youtube?
Answer by rng42 · May 23, 2016 at 05:29 PM
this should work without lag.
void Start () {
Rigidbody2D rb = GetComponent<Rigidbody2D>();
}
void FixedUpdate() {
rb.velocity = new Vector2(10, 0);
}
Thanks for your answer,but unfortunately the problem still persists.and the GameObject keeps jittering :(
did you have a camera attached to the moving gameobject as a child?
No,the camera is not attached to object,and I look at the object in the scene view,and it jitters. Although if the camera is set as a child of that game object,the jittering occurs.
Your answer
Follow this Question
Related Questions
How to calculate time it takes for angular velocity to reach 0 w/ angular drag being applied? 2 Answers
How to not get velocity by the other objects?,How to not get force by other gameobjects? 0 Answers
rigidbody2d.velocity acting weirdly 0 Answers
Shooting 2D - rigidbody2D.velocity not working 1 Answer
How to Maintain Constant Velocity of a Moving GameObject? 0 Answers