С Новым годом! Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66

Не могу разобраться

04.10.2023, 17:57. Показов 1437. Ответов 25

Студворк — интернет-сервис помощи студентам
Всем доброго времении суток. С unity столкнулся не давно, читай полный нуб. Осваиваю по видео роликам. И вот столкнулся с тем, что в видео уроке показывают код, я его переписываю без ошибок, в видео все работает у меня нет. Ошибок и предупреждений нет, куда копать не понятно. Вот пример. Что я не так делаю?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class RB2D : MonoBehaviour
{
    private Rigidbody2D rb2D;
    
    private float moveSpeed;
    private float jumpForce;
    private bool isJumping;
    private float moveHorizontal;
    private float moveVertical;
    // Start is called before the first frame update
    void Start()
    {
        rb2D = gameObject.GetComponent<Rigidbody2D>();
        
        moveSpeed = 3f;
        jumpForce = 60f;
        isJumping = false;
    }
 
    // Update is called once per frame
    void Update()
    {
        moveHorizontal = Input.GetAxisRaw("Horizontal");
        moveHorizontal = Input.GetAxisRaw("Vertical");
    }
    
    
    void FixedUpdate()
    {
        if(moveHorizontal > 0.1f || moveHorizontal < -0.1f)
        {
            rb2D.AddForce(new Vector2(moveHorizontal * moveSpeed, 0f), ForceMode2D.Impulse);
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.10.2023, 17:57
Ответы с готовыми решениями:

Не могу сбилдить игру на android, 3 день не могу разобраться с ошибкой
вот скрин проблемы

Не могу разобраться с загрузкой данных из файлов,и чтоб в дальнейшем с ними мжно было работать как с массивом,не могу разобраться(
void __fastcall TPoisk::Button3Click(TObject *Sender) { Memo2-&gt;Lines-&gt;Clear(); x=StrToInt(Edit3-&gt;Text); for (i=0;i&lt;100;i++) { ...

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива и сумму элементов массива,...

25
 Аватар для ПСВ
39 / 32 / 8
Регистрация: 29.03.2020
Сообщений: 184
04.10.2023, 18:02
Как минимум в Update вторая строчка или не нужна, или должна быть такой:
moveVertical = Input.GetAxisRaw("Vertical");
1
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
04.10.2023, 19:25  [ТС]
Цитата Сообщение от ПСВ Посмотреть сообщение
Как минимум в Update вторая строчка или не нужна, или должна быть такой:
moveVertical = Input.GetAxisRaw("Vertical");
Спасибо не заметил. Правла ничего так и не заработало....
Вот еше пример, но поменьше, тоже не хочет работать
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class Force : MonoBehaviour
{
    public Vector2 direction;
    public float acceleration;
    public Rigidbody2D rb;
    // Start is called before the first frame update
    void Start()
    {
        
    }
 
    // Update is called once per frame
    void FixedUpdate()
    {
        if (Input.GetMouseButtonDown(0))
        {
            rb.AddForce(direction.normalized * acceleration, ForceMode2D.Impulse);
        }
        
    }
}
0
 Аватар для ПСВ
39 / 32 / 8
Регистрация: 29.03.2020
Сообщений: 184
04.10.2023, 19:33
А ты здесь точно в инспекторе заполнил direction, acceleration и Rigidbody?
Возможно не надо .normalized и/или ForceMode2D.Impulse использовать.
Кликните здесь для просмотра всего текста
Заключай c# код в теги c# (кнопочка C#)
0
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
04.10.2023, 20:07
Что-то мне подсказывает, что в первом вопросе вообще какая-то белиберда написана. В уроке точно так было?
Зачем использовать Update для отслеживания нажатия, а FixedUpdate для действия с ним? Зачем отдельно проверять есть ли нажатие? Если его нет Input.GetAxisRaw выдаст 0, ноль умноженный на скорость будет 0, движение по вектору 0,0 никуда не приведет. То есть достаточно 1 строчки кода на движение вверх/вниз в стороны и по диагонали.

Второй код, тоже выглядит странно. У Вас движение происходит по вектору заданному через инспектор? А зачем? Тут вроде как надо было бы отследить положение мыши, записать в direction направление на точку клика, нормализовать этот вектор и умножить его на скорость, с которой Ваш объект должен двигаться к точке клика.
Так же странным выглядит объявление RigidBody через инспектор, я даже не знал, что так можно (проверять лень).

Что-то я очень сильно сомневаюсь, что в уроках написан тот код, который Вы представили. Ну или не смотрите такие видео.
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
04.10.2023, 20:50  [ТС]
Вот ссылка на видео раз
и второй код
0
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
04.10.2023, 22:41
Типичный пример современного Youtube "учителя"...
Особенно интересно нафига нормализовать вектор (0,1)...
А про первое видео я выше писал.

Оно конечно работает (я и не утверждал, что код не рабочий), но как и зачем вопрос.

А у Вас как и писал ПСВ какие-то проблемы в инспекторе.
Если реально ошибок не выдает предполагаю, что просто что-то с координатами. Так же есть смысл проверить настройки RigidBody.

Добавлено через 8 минут
C#
1
rb2D.AddForce(new Vector2(Input.GetAxisRaw("Horizontal") * moveSpeed, ((Mathf.Abs(Input.GetAxisRaw("Vertical")) + Input.GetAxisRaw("Vertical")) / 2) * jumpForce), ForceMode2D.Impulse);
И нафига какие-то еще проверки?
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
04.10.2023, 23:16  [ТС]
Цитата Сообщение от Erdinger Посмотреть сообщение
Если реально ошибок не выдает
Ни ошибок, ни предупреждений
Миниатюры
Не могу разобраться  
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
04.10.2023, 23:22  [ТС]
Цитата Сообщение от Erdinger Посмотреть сообщение
Если реально ошибок не выдает
ни ошибок ни предупреждений, с координатами что? объект должен перемещаться поидее, но он не двигается, стоит в нулях.
Вот Rigidbody
Миниатюры
Не могу разобраться  
0
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
04.10.2023, 23:52
Цитата Сообщение от weropool Посмотреть сообщение
стоит в нулях
То есть Вы хотите сказать, что если Вы создаете пустую сцену с пустым объектом, вешаете на нее RigidBody2D без изменения настроек, вешаете на него скрипт Force, прописываете в инспекторе публичные параметры, нажимаете Play и у Вас объект не двигается по оси y?
Так как бы быть не может, на него гравитация действует, он падать вниз должен. Если он у Вас падает, а на клик мышкой практически не реагирует поставьте больше значение acceleration.
И да, я не поленился проверить скрипт Force до запятой написан правильно и работает.
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
05.10.2023, 14:41  [ТС]
Только гравитация на него и действует.
Изучая вопрос о перемещение объекта выяснил, что есть три способа. Из все трех у меня работает только один...
Миниатюры
Не могу разобраться  
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
05.10.2023, 15:54  [ТС]
Как бы странно это не звучало, все заработало....

Добавлено через 38 минут
В одном проекте скрипт работает, в другом нет.....
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
08.10.2023, 21:01  [ТС]
С перемещением разобрался теперь столкнулся с анимацией. Не получается анимировать прыжок через скрипт
C#
1
2
3
4
5
6
7
8
void Jump()
    {
            if (Input.GetKeyDown(KeyCode.Space) && isGround())
            {
                rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
                anim.Play("Jump");
            }
    }
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
09.10.2023, 20:09  [ТС]
Подскажите хотя бы, что почитать по этой теме можно?
0
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,201
09.10.2023, 21:25
Цитата Сообщение от weropool Посмотреть сообщение
Подскажите хотя бы, что почитать по этой теме можно?
научиться пользоваться поисковиком, запастись терпением и способностью учиться. как ты сам уточнил о своем нубстве, резко стать не нубом не получиться. пару тройку учебных проектов завалишь, а на следующих уже будет полегче (сам через это прошел).

а по поводу прыжка, причин может быть масса. от маленькой прилагаемой силы (jumpForce), до не правильно настроенного аниматора и тупо не заполненных ссылок в инспекторе.
смотри такие гайды, где все с нуля делается и показывается не только скрипт и результат его работы а и подготовительный процесс. для новичков.

Цитата Сообщение от weropool Посмотреть сообщение
Как бы странно это не звучало, все заработало....

В одном проекте скрипт работает, в другом нет.....
и еще, напоследок. не используй самые последние сырые версии движка. как минимум предыдущий релиз LTS сборки.
1
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
10.10.2023, 10:20  [ТС]
В самом прыжке проблемы нет. Объект подпрыгивает, проблема в анимации прыжка - она не проигрывается.
0
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,201
10.10.2023, 16:21
Цитата Сообщение от weropool Посмотреть сообщение
проблема в анимации прыжка - она не проигрывается.
проверка на isGround работает как нужно? сложно сказать. мало информации о том, как ты все сделал.
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
11.10.2023, 19:57  [ТС]
Цитата Сообщение от Gammister Посмотреть сообщение
проверка на isGround работает как нужно?
прыжок один, пока не приземлится обьект, а как проверить?
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
14.10.2023, 01:00  [ТС]
C#
1
2
3
4
5
6
7
private bool isGround()
    {
        Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, 2.0f);
        return colliders.Length > 1;
        
        
    }
0
1 / 1 / 0
Регистрация: 05.09.2013
Сообщений: 66
15.10.2023, 01:32  [ТС]
Никак не могу понять почему анимация принудительно не воспроизводится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2023, 01:32
Помогаю со студенческими работами здесь

Не могу разобраться разобраться с кодом меню
Добрый день. Я понимаю, что тут все, наверное, элементарно. Но я только начала изучение js и пока для меня все страшно и сложно. Проблема...

Приветствую, не могу разобраться с кодом программы и не могу сделать .obj файл
.model tiny; нужно будет получить исполняемый файл формата СОМ .code org 100h start: mov ax, 3 int 10h ; устанавливаем...

Не могу понять задачу, никак не могу разобраться как код написать
Помогите!

Не могу написать комментарии для функции поиска, не могу разобраться...
void __fastcall TForm1::FindDialog1Find(TObject *Sender) { int found, start, end; // Èíèöèàëèçàöèÿ ïåðåìåííûõ start =...

Не могу найти ошибку!! не могу не как разобраться! надо до завтра.
условие: Для 7 человек, среди которых есть мужчины и женщины, хранятся следующие данные: имя, пол (true - мужской, false - женский),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru