Нужна помощь

01 ноября 2016 12:34 #13232
Коллеги, а чего никого нет для работы на проекте? Что на фрилансим, что здесь - пара десятков просмотров и ни одного отклика. Все остальные задачи закрываются, есть выбор из предложений.

Вопрос в сумме денег на оплату или просто народ с задачей связываться не хочет, так как "геморрно это"? Мне js срочно нужен.
Алексей
08 ноября 2016 15:44 #13573
Добрый день,

В общем, вопрос с поиском исполнителя на программирование так и не решился, что говорит о том, что пока не очень сильная конкуренция в этом направлении. То, что это вопрос не денег, а скорее оплаты "времени на обучения" кого-либо, кто готов взяться за несколько алгоритмов подтверждается другой пачкой задач, которые были решены за те же 3-7 тыс.рублей, как водится, в течение пары дней. Надо, чтобы народ больше кодил, а то пустовато пока по исполнителям…

Поэтому решил разбираться сам.

Прошу уточнить, если переменная, например APP_ASSETS_PATH определена в основном модуле js, а я хочу использовать её в другом модуле и функции - как мне её вытащить или найти в пространстве имен? Я проверил, ни в document ни в b4w ссылки на нее нет.
Алексей
08 ноября 2016 16:35 #13578
Да c исполнителями сложновато, искал человека на плевую работку, в итоге за пару недель 3 человека ответили. Один даже решился переписать все на three js и уверено говорил что там будет лучше и проще (наверно для него) и плюшек там типо больше и pbr и всякие постэффекты.
Пришлось заморозить идею на время . Пора учить js самому я такой сделал вывод.
08 ноября 2016 16:46 #13581
Прошу уточнить, если переменная, например APP_ASSETS_PATH определена в основном модуле js, а я хочу использовать её в другом модуле и функции - как мне её вытащить или найти в пространстве имен? Я проверил, ни в document ни в b4w ссылки на нее нет.
Чтобы переменную или метод можно было использовать за пределами модуля, нужно определить её через объект exports:
b4w.register("my_module", function(exports, require) {
...
exports.APP_ASSETS_PATH = ...
...
});


Использовать можно будет так:
var mod = require("my_module");
console.log(mod.APP_ASSETS_PATH);
Команда Blend4Web
08 ноября 2016 16:52 #13583
Да c исполнителями сложновато, искал человека на плевую работку, в итоге за пару недель 3 человека ответили. Один даже решился переписать все на three js и уверено говорил что там будет лучше и проще (наверно для него) и плюшек там типо больше и pbr и всякие постэффекты.
Пришлось заморозить идею на время . Пора учить js самому я такой сделал вывод.


Други, ну у меня эта ветка уже почему-то разрослась 15 страниц. Но я проходил все этапы от нахождения названия blend4web в яндексе в июне и установки blender до сегодняшних "поиск исполнителя" vs "сделаю три кнопки и функции сам".

Понятно, что мозг иногда болит во всем этом разбираться и неохота, но у меня наверное дикая гонка с python, которую я устроил для того, чтобы исключить обезьяний труд по работе с несколькими сотнями объектов, привела к тому, что сейчас js выглядит не так страшно, особенно учитывая, что можно настроить хорошее простое окружение и тыкать в свое удовольствие, изучая отдельные модули языка. В частности интересу сильно добавило то, что в консоли chrome можно под b4w щупать каждую функцию и для меня это намного яснее оказалось, так как всплывающий список функций и эксперименты с ними предотвращают скучный перебор туториалов, которые уводят куда-то сами собой и отвлекаешься, теряя первоначальную мысль, открывая новые какие-то горизонты и в итоге устаешь через пару часов мозг качать и уже хочется все отложить.

Поэтому сейчас консоль, а алгоритмы там в принципе те же самые: типы данных и "общение с ними в разных позициях" и функции, результат вывода которых прям там же сразу выводится. Это намного удобнее, чем вносить изменения в файл и запускать страницу заново. При том количестве операторов в js файле b4w их можно и вручную проработать. Толку и скорости будет на порядок больше, чем "втыкать" что там куда идет смотря на код и перегружая его по десять раз. Поэтому, ручками, печатаем b4w потом точку, а потом чего хотите из найденного там. И камеры начинают крутится, и чарактеры бегать и все нюансы сразу становятся понятнее, быстрее и комфортнее.

Других опций подсказать не могу, так как ставил себе уже и brackets, и pycharm, и чего только не ставил - далеко это все от удобства за три секунды понять через консоль как эта "каракатица" работает…
Алексей
08 ноября 2016 17:01 #13584
Кстати, насчет плюшек и пост эффектов - это наверное круто и надо конечно все это знать, но если ты хочешь запустить сайт у среднестатиссссического юзера, то надо очень взвешенно подходить к этому. Геометрия и текстуры в размере 30-50мб плюс 50-80мб запускаются даже на айфоне. А вот как только начинается микс текстур - загружаются и AO, и shadows, и обычные текстуры - ну если это не 128х128 и таких там на 100 объектов - можно сидеть и долго изучать прелоадер, а потом небольшими пробежками под гудящий вентилятор пытаться получить удовольствие от проделанной работы. Поэтому я для себя закрыл вопрос бэкингом, а все остальное крайне лимитированно и если без этого ну никак нельзя.
Алексей
08 ноября 2016 17:19 #13585
b4w.register("my_module", function(exports, require) {

exports.APP_ASSETS_PATH = …

А в одну строку применительно в переменной как это сделать?
Назначение переменной (var APP…) где там делать если идет сразу exports.APP…=…?
А если я хочу набор переменных сразу определить и экспортировать?
Алексей
08 ноября 2016 17:23 #13586
А в одну строку применительно в переменной как это сделать?
вот так, например:

var APP_ASSETS_PATH = exports.APP_ASSETS_PATH = 0;
Команда Blend4Web
08 ноября 2016 17:33 #13587
Ответ на сообщение пользователя Иван Любовников
вот так, например:

var APP_ASSETS_PATH = exports.APP_ASSETS_PATH = 0;


а если у меня получилось просто exports.a = '123' и потом под console.log(m_amave.a) она воспроизводится, то есть без var - я здесь что теряю в части корректности кода или exports сама определяет тип переменной? Приведенная Вами последовательность читается справа налево или слева на право - то есть, что происходит в этой строке? заранее спасибо
Алексей
08 ноября 2016 18:45 #13599
а если у меня получилось просто exports.a = '123' и потом под console.log(m_amave.a) она воспроизводится, то есть без var
не совсем понял, лучше кодом напишите, как это все будет выглядеть, или пример того, чего хотите добиться

В строчке происходит объявление 2-х несвязанных переменных с одинаковым значением, т.е. изменение одной не отразится на другой, если вы об этом.
Команда Blend4Web
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.