Size: a a a

2020 March 22

G(

Gasased (Andrula) in unity3d.ru
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class player_movment_V2 : MonoBehaviour
{
   public Rigidbody rb;
   public float up_jump_force;
   public float forward_jump_force;
   public CapsuleCollider col;
   public LayerMask groundLayers;
   private void Start()
   {
       col = GetComponent<CapsuleCollider>();
   }
   void Update()
   {
       if (IsGrounded() && Input.GetKeyDown(KeyCode.Mouse0))
       {
           this.rb.AddForce(transform.up * up_jump_force, ForceMode.Impulse);
           this.rb.AddForce(transform.forward * forward_jump_force, ForceMode.Impulse);
       }
       if (Input.GetKeyDown(KeyCode.D))
       {
           this.transform.Rotate(0, 90, 0, Space.Self);
       }
       if (Input.GetKeyDown(KeyCode.A))
       {
           this.transform.Rotate(0, -90, 0, Space.Self);
       }
   }
   private bool IsGrounded()
   {
       return Physics.CheckCapsule(col.bounds.center, new Vector3(col.bounds.center.x, col.bounds.min.y, col.bounds.center.z), col.radius * .9f, groundLayers);
   }    
}
источник

AS

Anton Smetanin in unity3d.ru
Alexey Gordiychuk
Нужен инпут, который обновляется каждыйFixedUpdate
Короче тебе надо будет завести на каждую кнопку по три була: down, up и hold. И в каждом апдейте их склеивать с новыми значениями через or. Потом в FixedUpdate обрабатывать и сбрасывать всё в false
источник

AS

Anton Smetanin in unity3d.ru
Я такое писал, если что)
источник

AS

Anton Smetanin in unity3d.ru
Но оно не пригодилось
источник

AG

Alexey Gordiychuk in unity3d.ru
Anton Smetanin
Короче тебе надо будет завести на каждую кнопку по три була: down, up и hold. И в каждом апдейте их склеивать с новыми значениями через or. Потом в FixedUpdate обрабатывать и сбрасывать всё в false
Ты уже предлагаешь вариант реализации) Так сам подход считаешь правильным?
источник

AS

Anton Smetanin in unity3d.ru
Я не до конца понимаю, какого эффекта ты хочешь добиться)
источник

KS

Kamo Spertsyan in unity3d.ru
Kamo Spertsyan
Привет, ребята.
Подскажите, пожалуйста, а то я что-то голову сломал.
Пишу 2d игру. Есть у меня GameObject с компонентом Image. Я хочу поверх него создавать объекты в случайной позиции из префабов, делаю так:

var position = field.getRandomPositionForDot();
var dotObject = Instantiate(current, field.fieldObject);
dotObject.localPosition = position;

Здесь field - это скрипт, в котором есть fieldObject - собственно, сам объект с Image. gettRandomPositionForDot вернёт Vector2. current - префаб объекта, который я хочу создать.

Проблема в том, что все новые объекты появляются ЗА картинкой, а мне надо ПЕРЕД. Перепробовал всё, что можно. С z-координатой игрался, со слоями игрался. Кажется, упускаю что-то простое из вижу.
Нужна помощь..
источник

AG

Alexey Gordiychuk in unity3d.ru
Anton Smetanin
Я не до конца понимаю, какого эффекта ты хочешь добиться)
чтобы управление игрой не зависело от частоты кадров и игрок мог даже с низким фпс рассчитывать на то что его ввод обработался именно в тот момент когда был произведён, а не на сделующем кадре как знаешь, например, юнити билдит, ты нажимаешь кансел, отпускаешь, а ничего не происходит. Потом нажимаешь ещё раз, но не отпускаешь - ждёшь когда там что-то обновится до момента когда нарисуется нажатая кнопка. То есть на самом деле твой инпут отложился до следующего кадра в отрисовке UI. Типа того
источник

AS

Anton Smetanin in unity3d.ru
Alexey Gordiychuk
чтобы управление игрой не зависело от частоты кадров и игрок мог даже с низким фпс рассчитывать на то что его ввод обработался именно в тот момент когда был произведён, а не на сделующем кадре как знаешь, например, юнити билдит, ты нажимаешь кансел, отпускаешь, а ничего не происходит. Потом нажимаешь ещё раз, но не отпускаешь - ждёшь когда там что-то обновится до момента когда нарисуется нажатая кнопка. То есть на самом деле твой инпут отложился до следующего кадра в отрисовке UI. Типа того
Тогда не, у тебя ровно обратная ситуация получится
источник

AS

Anton Smetanin in unity3d.ru
Будут кнопки заедать и зависать
источник

AG

Alexey Gordiychuk in unity3d.ru
Anton Smetanin
Будут кнопки заедать и зависать
Эм. Не понял. Ты сейчас говоришь о какой-то конкретной инпут системе верно?
источник

AS

Anton Smetanin in unity3d.ru
Ну FixedUpdate всегда реже апдейта выполняется, грубо говоря
источник

AG

Alexey Gordiychuk in unity3d.ru
Anton Smetanin
Ну FixedUpdate всегда реже апдейта выполняется, грубо говоря
чаще же
источник

AS

Anton Smetanin in unity3d.ru
Нет
источник

AS

Anton Smetanin in unity3d.ru
Даже если ты поставишь большую частоту, он всё равно вызывается внутри апдейта
источник

AS

Anton Smetanin in unity3d.ru
И более того, когда он вызывает несколько FixedUpdate в одном апдейте, он не сбрасывает инпут
источник

AS

Anton Smetanin in unity3d.ru
То есть, инпут будет одинаковый для всех этих FixedUpdate
источник

AG

Alexey Gordiychuk in unity3d.ru
Anton Smetanin
Даже если ты поставишь большую частоту, он всё равно вызывается внутри апдейта
так падажжи ща освежу знания как это реже...
источник

AS

Anton Smetanin in unity3d.ru
Реже в смысле не по количеству раз, а по времени
источник

in unity3d.ru
Если нужна стабильность и частота больше чем апдейте, можно юзать корутины, разве нет?
источник