50 тысяч довольно скромный объём, для веба вполне нормально. 30 метров текстур тоже неплохо, но тут надо смотреть, дождутся ли юзеры со слабыми интернет-соединениями.
По моему скромному мнению, B4W или загнулся или близок к этому. Когда в прошлом году братья Ковеленовы свалили из проекта (или их выкинули, не знаю, свечку не держал), те кто там оставался пытались было проявлять активность, но их хватило ненадолго. Сейчас там всё тухло, релизы не выходят, юзеры жалуются что не могут получить купленную лицензию, а порно-спамеры захватили форум. Думаю, тут выбирать нечего, либо Verge, либо искать что-то ещё.
После того как тестура загружена, её наложение контролируется шейдером, а не исходными размерами и пропорциями. В шейдере имеются так называемые UV координаты, они должны быть одинаковы по ширине и высоте, чтобы картинка была квадратной.
Чтобы покрутить плавно нужна процедурная анимация. В начале крутите медленно, потом плавно ускоряете, под конец опять замедляете. Для поворота объектов используется метод Object.rotateX (или rotateY, rotateZ).
function smoothstep(edge0, edge1, x) {
// Scale, bias and saturate x to 0..1 range
x = min(max((x - edge0) / (edge1 - edge0), 0.0), 1.0);
// Evaluate polynomial
return x * x * (3 - 2 * x);
}
Object.rotateX(smoothstep(0, Math.PI, time/10));
Наверное самое просто что можно придумать - использовать Verge3D. У них в состав входит визуальный редактор, похожий на паззлы. Накидать такие вещи как запуск процедурной анимации или смена цвета - буквально несколько секунд.
Blender/3ds Max + Verge3D. У последнего есть также отличный инструмент - Паззлы. С их помощью можно накрутить на сцену простенький интерактив без программирования.
С WebGL будет быстрее, но если рендерите 2-5 файлов HD, быстро точно не будет ;) Момент с растеризацией будет быстрый, но сама отрисовка видеотекстур крайне медленная операция.
В three.js нет воркеров, сам мультипроцессный браузер может разбивать часть работы по процессам, но почему загружаются все 8 ядер равномерно я не скажу.
По-идее нужно использовать gl.viewport() чтобы указать кусок канваса, на который нужно рисовать. Или можно посмотреть как это делают в движках three.js или verge3d.
В долгосрочной перспективе да, поскольку скоро чистой 2-х мерной графики вообще не останется. Любой div или элемент canvas либо уже либо скоро будет рендериться на видеокарте с помощью OpenGL/DirectX.
Blend4Web не смотрели? там всё создается в Блендере, а потом экспортируется и запускается самим движком. Базовую логику можно сделать без программирования, с помощью визуального редактора, хотя для меня его наличие скорее минус чем плюс.
Судя по НАСА и товарищи, движок явно пользуется популярностью за бугром.
Если совсем просто, вектор это набор из чисел в отличие от одного числа (скаляра). Это всё что нужно про него знать. Бред про длину и направление, а также начало и конец вектора это то чему учат детей в плохих (всех?) школах. Дальше всё зависит от того какое значение вы ему приписываете. Координаты точки в пространстве, направление, перемещение, скорость, цвет и др. Соответственно длина будет иметь значение только в некоторых случаях.
webgl файлов не бывает, это технология трёхмерного рендеринга в браузерах.
Возможно вы имели в виду что-то другое, тогда стоит уточнить исходные данные.