Как подключить физику? Помогите чайнику.
16 мая 2017 02:40
Весь форум излазил, все примеры перекопал, пробовал и так и сяк.
Физика не включается.
Экспортирую через Json, вот сама дёмка.
(у plate физика Static, у кубика - Dynamic, в превью всё пашет)
ссылка
исходный код такой:
При нажатии в Блендере на Превью у меня кубик падает вниз, как и полагается.
А при выгрузке на сервер - не двигается.
Пытался через подгрузку .js сделать (третий метод публикации, описанный в видеоуроках) - навроде этого:
Так не пашет, зараза. Вообще ничего не выводит на экран, хотя и ошибок нет.
Физика не включается.
Экспортирую через Json, вот сама дёмка.
(у plate физика Static, у кубика - Dynamic, в превью всё пашет)
ссылка
исходный код такой:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<center>
<iframe width=800 height=600 allowfullscreen src="./webplayer/webplayer.html?load=../2k.json"></iframe>
</center>
</body>
</html>
При нажатии в Блендере на Превью у меня кубик падает вниз, как и полагается.
А при выгрузке на сервер - не двигается.
Пытался через подгрузку .js сделать (третий метод публикации, описанный в видеоуроках) - навроде этого:
"use strict";
var app = b4w.require("app");
var data = b4w.require("data");
app.init({
canvas_container_id: "container_id",
physics_enabled: false, (было true)
autoresize: true,
callback: load_cb
});
function load_cb() {
data.load("2k.json", loaded_cb)
}
function loaded_cb() {
}
Так не пашет, зараза. Вообще ничего не выводит на экран, хотя и ошибок нет.
16 мая 2017 14:08
Добрый день и добро пожаловать.
отключит физику, замените на true. Если в fastpreview у вас есть физики и всё работает, значит в Blender все настройки верны. Скиньте лучше ваш пример, чтобы сразу можно было сказать в чём дело.
По вашей ссылке кубик уже лежит на плоскости, как будто он на неё упал. Не совсем понятно, что там должно быть. Вообще, в списке загруженных ресурсов у вас там есть физический движок, то есть физика инициилизировалась
physics_enabled: false,
отключит физику, замените на true. Если в fastpreview у вас есть физики и всё работает, значит в Blender все настройки верны. Скиньте лучше ваш пример, чтобы сразу можно было сказать в чём дело.
По вашей ссылке кубик уже лежит на плоскости, как будто он на неё упал. Не совсем понятно, что там должно быть. Вообще, в списке загруженных ресурсов у вас там есть физический движок, то есть физика инициилизировалась
16 мая 2017 15:37
Ответ на сообщение пользователя Семенцов РоманСовершенно верно, кадр выглядит так, как будто кубик уже упал, но я этого не видел.
По вашей ссылке кубик уже лежит на плоскости, как будто он на неё упал.
А в превью вся анимация полностью показывается.
Ответ на сообщение пользователя Семенцов Роман
Скиньте лучше ваш пример, чтобы сразу можно было сказать в чём дело.
Скидываю
И на всякий случай замечу (вдруг в этом причина), что у меня папке с анимацией лежит также папка webplayer, которую я взял из примеров проектов (посмотрев видео). И в папке webplayer лежит вот что:
16 мая 2017 18:48
16 мая 2017 20:14
Ответ на сообщение пользователя Семенцов Роман
Скорее всего, физика стартовала на 97% и кубик уже упал. Что если его поднять выше?
Вы были совершенно правы.
Нужно было поднять куб повыше, и тогда он начинает работать.
Но если честно, это же извращение.
Куда нужно прописать код, чтобы физика запустилась только после полной загрузки страницы?
(я так понимаю, FULL HTML и JSON экспорт тут не поможет, нужно запускать через новый .js файл, в который уже нужно прописать код)
А то одно дело кубик задрать, а если будет 100 объектов, которым нужно будет приземлиться при запуске страницы.
Потом в этой сцене не разберешься…
17 мая 2017 10:36
Но если честно, это же извращение.
Да, согласен
Можно написать в load_cb перемещение куба в заданую позицию, а изначально положить его на плоскость.
var m_phy = require("physics");
function load_cb(data_id) {
....
m_phy.set_transform(cube, [0,0,5], [0,0,0,1])
}
где [0,0,5] - позиция куда надо поставить куб