Форум программистов, компьютерный форум, киберфорум
Игровые движки
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382

Почему не толкается куб?

13.08.2024, 21:28. Показов 2374. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам

сам исходник Rigid.zip
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.08.2024, 21:28
Ответы с готовыми решениями:

ПОЧЕМУ примитив Куб скользит по другому кубу при добавлении Rigidbody?
Суть- в качестве поверхности использую увеличенный Куб с Rigitbody, запретив ему движение и поворот. И при помещении на него другого...

Почему не рисуется куб?
Добрый день! Я новичёк в DirectX и у меня проблемка! В коде вроде всё норм, а куб так и не рисуется! Помогите, плиз! Код: #include...

Что не так? почему не получается куб?
#pragma comment(lib, "glew32s.lib") #pragma comment(lib,"glfw3.lib") #pragma comment(lib,"opengl32.lib") #include <GL/glew.h> ...

33
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
13.08.2024, 21:45  [ТС]
А всё сам разобрался - не тот сигнал дал да
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
15.08.2024, 02:10
Mr_den, я тебя разочарую, там не куб, а квадрат
0
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
16.08.2024, 10:39  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
квадрат
Ну так что есть способ толкать его со всех сторон >?
Просто возникает переполярность если квадрат летит сверху
и переворачивается кверх ногами, тогда этот скрипт перестает работать как надо
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
16.08.2024, 10:57
Цитата Сообщение от Mr_den Посмотреть сообщение
Ну так что есть способ толкать его со всех сторон >?
у тебя квадрат имеет тип Area2D, что довольно странный выбор. Area2D это область, которая используется для определения, что другой CollisionObject2D входит или выходит из данной области. Это означает, что данный тип тебе только поможет тем, что подаст сигнал о том, что твой красный персонаж вошел или вышел из квадрата. Толку от этого мало, т.к. обработка всей физики будет на тебе: будешь сам двигать квадрат, рассчитывать его положение и пр.
Предлагаю поменять тип квадрата на RigidBody2D, чтобы движок сам рассчитывал физику.
0
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
16.08.2024, 11:50  [ТС]
А можешь скрин сделать что там в настройках ставить ? У меня риджит только летает и на действия игрока слабо откликается. Квадрат и так запихан в риджит, я ему скрипт на движение и ареа добавил, потому что его физика с этим не справляется ))
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
16.08.2024, 13:22
Лучший ответ Сообщение было отмечено Mr_den как решение

Решение

Цитата Сообщение от Mr_den Посмотреть сообщение
А можешь скрин сделать что там в настройках ставить ?
вот проект + экзешник

собственно, добавил всего несколько строк (самые нижние строки) к автогенерируемому коду

Python
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
extends CharacterBody2D
 
 
const SPEED = 300.0
const JUMP_VELOCITY = -500.0
const PUSH_FORCE = 10000.0
 
 
func _physics_process(delta: float) -> void:
    # Add the gravity.
    if not is_on_floor():
        velocity += get_gravity() * delta
 
    # Handle jump.
    if Input.is_action_just_pressed("jump") and is_on_floor():
        velocity.y = JUMP_VELOCITY
 
    # Get the input direction and handle the movement/deceleration.
    # As good practice, you should replace UI actions with custom gameplay actions.
    var direction := Input.get_axis("left", "right")
    if direction:
        velocity.x = direction * SPEED
    else:
        velocity.x = move_toward(velocity.x, 0, SPEED)
    
    if move_and_slide():
        for i in get_slide_collision_count():
            var col = get_slide_collision(i)
            if col.get_collider() is RigidBody2D:
                col.get_collider().apply_force(col.get_normal() * -PUSH_FORCE)
Суть в том, что при столкновении мы придаем к объектам RigidBody2D, с которыми столкнулся персонаж, немного импульса. А вот как уже будут вести сами объекты RigidBody2D это уже не наша забота. Движок сам будет рассчитывать их физику.
Положение самих объектов RigidBody2D нельзя задавать вручную. Это помешает физическому движку. Ты можешь только придавать либо импульс, либо силу.
Вложения
Тип файла: zip square.zip (124.9 Кб, 2 просмотров)
Тип файла: 7z Square.7z (16.57 Мб, 0 просмотров)
1
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
16.08.2024, 22:44  [ТС]
Там ты с гравитацией чтото намудрил - выдает ошибку на
Цитата Сообщение от Royal_X Посмотреть сообщение
func _physics_process(delta: float) -> void:
    # Add the gravity.
    if not is_on_floor():
        velocity += get_gravity() * delta
Я переделал
Python
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
extends CharacterBody2D
 
 
const SPEED = 300.0
const JUMP_VELOCITY = -500.0
const PUSH_FORCE = 10000.0
 
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
 
 
func _physics_process(delta):
    # Add the gravity.
    if not is_on_floor():
        velocity.y += gravity * delta
 
    # Handle jump.
    if Input.is_action_just_pressed("ui_accept") and is_on_floor():
        velocity.y = JUMP_VELOCITY
 
    # Get the input direction and handle the movement/deceleration.
    # As good practice, you should replace UI actions with custom gameplay actions.
    var direction := Input.get_axis("left", "right")
    if direction:
        velocity.x = direction * SPEED
    else:
        velocity.x = move_toward(velocity.x, 0, SPEED)
    
    if move_and_slide():
        for i in get_slide_collision_count():
            var col = get_slide_collision(i)
            if col.get_collider() is RigidBody2D:
                col.get_collider().apply_force(col.get_normal() * -PUSH_FORCE)
Ну да работает Но когда долго пинаешь бывает кот сам в облака улетает
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
16.08.2024, 23:00
Mr_den, ничего я не намудрил и это даже не мой код, а автогенерируемый самим Godot 4.3. Я же написал, что добавил только самые нижние строки и ещё одну константу вверху.
Код полностью рабочий. Ищи проблему у себя. Может быть у тебя старая версия годот и там нет такой функции. Вчера вышла новая версия годот и я писал уже на ней.

Попробуй обновить годот и снова тестировать код. Либо уже получай гравитацию по старинке или вообще, пропиши просто 9.81
0
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
17.08.2024, 09:22  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
новая версия годот
- а чем она луче старой версии ?
Я уже привык к 4.2.
Когда начинал на 3.5 сразу 4.2 вышла - там было понятно что интерфейс луче
Обещают Direct X ввести да ?
Йа думаю они не откажуться от своего вулкана - уже вложены бабки
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
17.08.2024, 10:06
Цитата Сообщение от Mr_den Посмотреть сообщение
Обещают Direct X ввести да ?
он уже есть в 4.3, я же тебе писал об этом в посте Шахматы. Определить в какой клетке фигура

Цитата Сообщение от Mr_den Посмотреть сообщение
а чем она луче старой версии ?
много чем
godot нельзя назвать зрелым стабильным продуктом, соответственно, каждая новая версия лучше

Цитата Сообщение от Mr_den Посмотреть сообщение
ни не откажуться от своего вулкана
ну, конечно, не откажутся. Чем больше rendering devices будет, тем только лучше

к тому же, DX есть только на винде, все равно придется поддерживать вулкан для линукс и мобильных устройств, учитывая, что они постепенно отказываются от opengl
0
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
17.08.2024, 14:04  [ТС]
Серьезные игры расчитаны на ПК, а на планшеты и мобилы и OPEN GL пойдет. Ща гляну какой там DX ))
0
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
17.08.2024, 14:53  [ТС]
Это надо нажать на Forward ?


и где тут Direct X ?
А ДРОВА НА dx12 у меня установлены !
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
17.08.2024, 17:09
Mr_den, попробуй запустить игру из поста Координаты направляющих точек кривой Безье

Возможно, для самой разработки в режиме Forward+ Vulkan обязателен, но для запуска теперь подойдёт и DX12. Если не запустится, то у тебя проблема с DX12.
0
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
17.08.2024, 17:42  [ТС]
Direct X установлен ! Говорят шоб работало надо DLL от Direct X перетащить dxgi.dll в папку с движком, движок этот DLL
у меня нормально принял, но ошибку всё равно выдаёт ! Йа не занаю что еще ему надо.
Твой пример тоже Vulcan требует а не dIRECt x

Добавлено через 18 минут
Как ты определил что у тебя Direct X подключился ? Он появился в списке Forward ?

Добавлено через 1 минуту
А может он без детека работает ?? Потому что микрософт не разрешал его использование они с ним еще договариваюца
0
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
17.08.2024, 18:33  [ТС]
godot 4_2


godot 4_3

Крч ничего не изменилось =)
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
17.08.2024, 21:42
Mr_den, попробовал запустить игру, созданную в Godot 4.3 в режиме Forward+, на устройстве, поддерживающем DX12, но не поддерживающем Vulkan, но она не запустилась, причем, даже этот файлик кинул рядом с игрой. Короче, это все странно, поскольку в настройках проекта у меня стояла эта галка:

Т.е. хоть проект был создан на вулкан, по идее, если при при запуске проблема с вулкан, то игра автоматически должна перейти на DX12.
Цитата Сообщение от Mr_den Посмотреть сообщение
Как ты определил что у тебя Direct X подключился ? Он появился в списке Forward ?
Да, в режиме Forward+ я могу его выбрать явно.

и после этого я вижу в окне вывода, что у меня редактор уже в режиме dx12


Наверное, поддержка DX12 еще слабенькая. Так что нужно постоянно обновляться в надежде, что исправят.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
17.08.2024, 21:54
Mr_den, игры на Godot 3 имели размер от 36 МБ и работали на OpenGL 3.3. Раньше было лучше...
0
 Аватар для Mr_den
11 / 9 / 2
Регистрация: 06.09.2022
Сообщений: 382
18.08.2024, 10:32  [ТС]
ты DLL от Direct X закидывал в папку движка ?
Мой платформер Strigach весил в С++ где то 120 Mb вместе с библиотекой SFML
Попробовал его сделать на GODOT 4.2 - весит 75 Mb https://drive.google.com/file/... sp=sharing
Вообще по моему платформеры дохлое направление Дети ща только в 3D играют
или в стратегию надо переделывать
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
18.08.2024, 10:57
Цитата Сообщение от Mr_den Посмотреть сообщение
ты DLL от Direct X закидывал в папку движка ?
нет, ничего не закидывал. Он у меня и без него работает.

Вообще, сейчас этот файл не нужен. Вот, что я нашел в описании релиза 4.3



Т.е. это раньше нужно было закидывать данный файл в папку проекта, а сам редактор собирать кастомно. Сейчас все должно работать и без этого. Т.е. режим Forward+ Godot 4.3 должен работать, в том числе, на DX12.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.08.2024, 10:57
Помогаю со студенческими работами здесь

Змейка в API с использованием OpenGL (или почему мой куб -прямоугольник)
Доброго времени суток,вот решил сделать змейку с использованием OpenGL ,и вроде все получается,да вот только сами блоки змейки...

Куб смотрящий на камеру, что зрительно делает куб плоским квадратом
Здравствуйте. В общем это требуется для 3д редактора. А конкретнее, используется в виде точек. Почему я не взял обычные картинки?...

Куб смотрящий на камеру, что зрительно делает куб плоским квадратом
Здравствуйте. В общем это требуется для 3д редактора. А конкретнее, используется в виде точек. Почему я не взял обычные спрайты? Просто...

Куб любого натурального числа равен сумме нечетных чисел, следующих по порядку за числами, сумма которых составила куб числа
Куб любого натурального числа n равен сумме n нечетных чисел, следующих по порядку за числами, сумма которых составила куб числа n-1: ...

Класс "куб", как сделать этот куб идеально ровным
package abd; public class cub { public cub (Stringargs) { for(int i=12;i<22;i++) { for(int j=12;j<22;j++) { ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru