Результаты поиска
| |
Fedi | Дата: Четверг, 29 Сентября 2016, 16:15 | Сообщение # 1 | Тема: Лаги NetworkManager Unet |
был не раз
Сейчас нет на сайте
| Lertmind, Всё работает!Спасибо большое!
Избиватель лохов, поедатель пирогов, новатор, бровиподниматор, и народный чемпион The Rock!
|
|
| |
Fedi | Дата: Среда, 28 Сентября 2016, 18:19 | Сообщение # 2 | Тема: Лаги NetworkManager Unet |
был не раз
Сейчас нет на сайте
| robertono, Сделал управление под телефон запустил когда захожу машины к 0,0,0 притягиваются. Вроде ничего не изменял...
Код public class PlayerSync : NetworkBehaviour {
[SyncVar] private Vector3 syncPos;
[SerializeField] Transform myTransform;
private Vector3 lastpos; private float threshold = 0.5f;
void Update(){
LerpPos ();
}
void FixedUpdate(){
TransmitPos ();
}
void LerpPos(){
if (!isLocalPlayer) { myTransform.position = Vector3.Lerp (myTransform.position, syncPos, 0.1f);
} }
[Command]
void CmdSync(Vector3 pos){
syncPos = pos;
}
[ClientCallback] void TransmitPos(){
if (isLocalPlayer && Vector3.Distance(myTransform.position,lastpos) < threshold) { CmdSync (myTransform.position); lastpos = myTransform.position;
} }
}
Избиватель лохов, поедатель пирогов, новатор, бровиподниматор, и народный чемпион The Rock!
Сообщение отредактировал Fedi - Среда, 28 Сентября 2016, 18:56 |
|
| |
Fedi | Дата: Среда, 28 Сентября 2016, 18:07 | Сообщение # 3 | Тема: Лаги NetworkManager Unet |
был не раз
Сейчас нет на сайте
| Цитата robertono (  ) Разве ? Функция Lerp перед самой интерполяцией делает Math.Clamp01 - никакой экстраполяции тут быть не может. Самое простое, если представить эту переменную как "процент между A и B". Не знаю в другом форуме мне так сказалиДобавлено (28 сентября 2016, 18:07) --------------------------------------------- Ещё одни вопрос, возможен ли соединение комп-телефон не изменяя код?
Избиватель лохов, поедатель пирогов, новатор, бровиподниматор, и народный чемпион The Rock!
|
|
| |
Fedi | Дата: Среда, 28 Сентября 2016, 13:45 | Сообщение # 4 | Тема: Лаги NetworkManager Unet |
был не раз
Сейчас нет на сайте
| Цитата Lertmind (  ) Я не разбираюсь в Unet, но у тебя есть ошибка в этой строчке: Код myTransform.position = Vector3.Lerp (myTransform.position, syncPos, Time.deltaTime + lerpRate); при условии, что в lerpRate значения больше 1, в результате всегда будет возвращаться syncPos.
Это условие будет выполняться постоянно: Код Vector3.Distance(myTransform.position,lastpos) < threshold потому что myTransform.position будет уходить на маленькое расстояние, а если выйдет на большое, то условие вообще не будет работать.
Внимательно почитай ответ и код от lukas8 здесь https://community.unity.com/t5....2531451. Хотя у него в Lerp используется число с потолка - 0.1, так что наверно стоит использовать логику похожую здесь http://stackoverflow.com/questio....eobject, только не запутаться в deltaTime и fixedDeltaTime.
Твоё видео, судя по курсору, тоже тормозит.
Спасибо большое! Если кому надо то вот код
Код myTransform.position = Vector3.Lerp (myTransform.position, syncPos,0.1f); Узнал что Lerp от 0f до 1f работает как интерполяция А свыше 1f как экстраполяция.
Избиватель лохов, поедатель пирогов, новатор, бровиподниматор, и народный чемпион The Rock!
|
|
| |
Fedi | Дата: Вторник, 27 Сентября 2016, 13:30 | Сообщение # 5 | Тема: Лаги NetworkManager Unet |
был не раз
Сейчас нет на сайте
| Проблема Скрипт интерполяции:
Код public class PlayerSync : NetworkBehaviour { [SyncVar] private Vector3 syncPos; [SerializeField] Transform myTransform; [SerializeField] float lerpRate = 20; private Vector3 lastpos; private float threshold = 0.5f; void Update(){ LerpPos (); } void FixedUpdate(){ TransmitPos (); } void LerpPos(){ if (!isLocalPlayer) { myTransform.position = Vector3.Lerp (myTransform.position, syncPos, Time.deltaTime + lerpRate); } } [Command] void CmdSync(Vector3 pos){ syncPos = pos; } [ClientCallback] void TransmitPos(){ if (isLocalPlayer && Vector3.Distance(myTransform.position,lastpos) < threshold) { CmdSync (myTransform.position); lastpos = myTransform.position; } } }
Избиватель лохов, поедатель пирогов, новатор, бровиподниматор, и народный чемпион The Rock!
|
|
| |
Fedi | Дата: Вторник, 10 Мая 2016, 12:51 | Сообщение # 6 | Тема: Помогите не могу понять в чем проблема localEulerAngles |
был не раз
Сейчас нет на сайте
| Цитата zaicev9797 (  ) дак вы хоть напишите - в чем проблема то?
Видео
Сообщение отредактировал Fedi - Вторник, 10 Мая 2016, 12:51 |
|
| |
Fedi | Дата: Воскресенье, 08 Мая 2016, 13:25 | Сообщение # 7 | Тема: Помогите не могу понять в чем проблема localEulerAngles |
был не раз
Сейчас нет на сайте
| Вот полный код
Код public class CarControll : MonoBehaviour {
public WheelCollider[] frontCols; public WheelCollider[] backCols; public Transform[] dataFront; public Transform[] dataBack; public Transform[] Center;
public float maxSpeed = 233f; private float sideSpeed = 30f; public float brakeSpeed = 400;
void Start () {
}
void Update () {
float vAxis = Input.GetAxis ("Vertical"); float hAxis = Input.GetAxis ("Horizontal"); bool brakeButton = Input.GetButton ("Jump");
frontCols [0].motorTorque = vAxis * maxSpeed; frontCols [1].motorTorque = vAxis * maxSpeed;
if (brakeButton) {
frontCols [0].brakeTorque = Mathf.Abs (frontCols [0].motorTorque) * brakeSpeed; frontCols [1].brakeTorque = Mathf.Abs (frontCols [1].motorTorque) * brakeSpeed;
} else {
frontCols [0].brakeTorque = 0; frontCols [1].brakeTorque = 0;
}
frontCols [0].steerAngle = hAxis * sideSpeed; frontCols [1].steerAngle = hAxis * sideSpeed;
dataFront [0].Rotate (Vector3.right, -frontCols [0].rpm * Time.deltaTime); dataFront [1].Rotate (Vector3.left, -frontCols [1].rpm * Time.deltaTime);
dataBack [0].Rotate(Vector3.right,-frontCols [0].rpm * Time.deltaTime); dataBack [1].Rotate (Vector3.left,-frontCols [1].rpm * Time.deltaTime);
dataFront [0].localEulerAngles = new Vector3 (dataFront [0].localEulerAngles.x, hAxis*sideSpeed, dataFront [0].localEulerAngles.z); dataFront [1].localEulerAngles = new Vector3 (dataFront [1].localEulerAngles.x, hAxis*sideSpeed, dataFront [1].localEulerAngles.z);
} }
Сообщение отредактировал Fedi - Воскресенье, 08 Мая 2016, 13:25 |
|
| |
|