Forum

User posts Alexander Romanov
26 February 2018 10:44
Весь JS изучать не обязательно, достаточно научиться создавать кнопочки, обработчик и стили.
Вот тут неплохо объясняется как сделать кнопку и обработчик к ней.
В этом обсуждении можно найти ссылку на пример кнопки с картинкой.
Скорее всего вы используете ноду Inherit material. Вот соответствующая функция API, которую ва нужно использовать в обработчике.
Alexander (Blend4Web Team)
twitter
25 February 2018 18:38
Hi!
Use exit_fullscreen, request_fullscreen, exit_fullscreen from screen module. Also you can look at the webplayer sources.
Alexander (Blend4Web Team)
twitter
25 February 2018 18:32
Could you check whether the quality profiles are the same? If you are using webplayer, you can see/modify the profile in its GUI.
Alexander (Blend4Web Team)
twitter
25 February 2018 18:26
What is "refresh"? Heve you tried location.reload?
Alexander (Blend4Web Team)
twitter
25 February 2018 17:51
I see that in your folder you have some files which should not be there: b4w.js, projectdelachambre*, firstperson.js, es6_webplayer.html. But it doesn't matter. If you have no crash when you are using Fast Preview, the following two steps for webplayer are sufficient:
1) make compile_b4w
my log:
Compiling b4w javascript
Hash: a277745ded95bf706c12120ce2d07bdc39d21321
Version: webpack 3.9.1
Child
Hash: a277745ded95bf706c12
Time: 2977ms
Asset Size Chunks Chunk Names
b4w.js 4.88 MB 0 [emitted] [big] main
[7] ./src/libs/gl_matrix/vec4.js 14 kB {0} [built]
[8] ./src/libs/gl_matrix/quat.js 15.9 kB {0} [built]
[21] ./src/libs/gl_matrix/mat4.js 36.4 kB {0} [built]
[24] ./src/extern/controls.js 36.4 kB {0} [built]
[26] ./src/extern/util.js 12.5 kB {0} [built]
[27] ./src/libs/gl_matrix/mat3.js 14.5 kB {0} [built]
[29] ./src/extern/scenes.js 62.3 kB {0} [built]
[32] ./src/util/b4w.js 7.08 kB {0} [built]
[33] ./src/extern/camera.js 81.3 kB {0} [built]
[39] ./src/extern/container.js 5.91 kB {0} [built]
[40] ./src/extern/transform.js 23.5 kB {0} [built]
[49] ./src/extern/input.js 36.4 kB {0} [built]
[50] ./src/extern/screen.js 16.1 kB {0} [built]
[77] ./src/extern/data.js 3.39 kB {0} [built]
[84] ./index.js 6.44 kB {0} [built]
+ 104 hidden modules
Child
Hash: 120ce2d07bdc39d21321
Time: 2955ms
Asset Size Chunks Chunk Names
ipc.js 281 kB 0 [emitted] [big] main
[0] ./src/libs/gl_matrix/vec4.js 14 kB {0} [built]
[1] ./src/util/register.js 920 bytes {0} [built]
[2] ./src/libs/gl_matrix/vec3.js 19.1 kB {0} [built]
[3] ./src/util/b4w.js 7.08 kB {0} [built]
[4] ./src/libs/gl_matrix/mat3.js 14.5 kB {0} [built]
[5] ./src/util/assert.js 3.69 kB {0} [built]
[6] ./src/intern/util.js 66.5 kB {0} [built]
[7] ./src/libs/gl_matrix/mat4.js 36.4 kB {0} [built]
[9] ./src/intern/print.js 3.99 kB {0} [built]
[10] ./uranium/index.js 101 bytes {0} [built]
[11] ./src/intern/ipc.js 20.4 kB {0} [built]
[12] ./src/intern/math.js 12.8 kB {0} [built]
[13] ./src/intern/tsr.js 21.1 kB {0} [built]
[14] ./src/util/generator.js 4.32 kB {0} [built]
[15] ./src/util/path.js 1.51 kB {0} [built]
+ 1 hidden module
——————————————————————-
Compiling: /home/dal/workspace/blend4web/dist/b4w.whitespace.min.js
——————————————————————-
—————————————————————
Compiling: /home/dal/workspace/blend4web/dist/b4w.simple.min.js
—————————————————————
/home/dal/workspace/blend4web/scripts/../tools/closure-compiler/extern_modules.js:3: WARNING - Variable self first declared in externs.zip//window.js
var self;
^^^^

/tmp/tmpffo87r3d.js:473: WARNING - Value assigned to local variable TSR8_IDENT is never read
var TSR8_IDENT = __WEBPACK_IMPORTED_MODULE_4__tsr_js__["b" /* create */]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:474: WARNING - Value assigned to local variable TSR_IDENT is never read
var TSR_IDENT = __WEBPACK_IMPORTED_MODULE_4__tsr_js__["b" /* create */]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:2934: WARNING - Value assigned to local variable GLMAT_EPSILON is never read
var GLMAT_EPSILON = 0.0000001;
^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:4969: WARNING - Value assigned to local variable _vec3_tmp is never read
var _vec3_tmp = new Float32Array(3);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:4970: WARNING - Value assigned to local variable _quat_tmp is never read
var _quat_tmp = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:4971: WARNING - Value assigned to local variable _mat4_tmp is never read
var _mat4_tmp = new Float32Array(16);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:5294: WARNING - Value assigned to local variable transform_mat4 is never read
var transform_mat4 = (function () {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:5559: WARNING - Value assigned to local variable scale is never read
var scale = get_scale(tsr, _vec3_tmp);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:5560: WARNING - Value assigned to local variable scale2 is never read
var scale2 = get_scale(tsr2, _vec3_tmp2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:5579: WARNING - Value assigned to local variable extrapolate is never read
var extrapolate = (function () {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:5623: WARNING - Value assigned to local variable _vec3_tmp2 is never read
var _vec3_tmp2 = __WEBPACK_IMPORTED_MODULE_3__libs_gl_matrix_vec3_js__["create"]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:5661: WARNING - Value assigned to local variable to_zup_view is never read
var to_zup_view = (function () {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:5689: WARNING - Value assigned to local variable to_zup_model is never read
var to_zup_model = (function () {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:5790: WARNING - Value assigned to local variable GLMAT_EPSILON is never read
var GLMAT_EPSILON = 0.0000001;
^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:6403: WARNING - Value assigned to local variable GLMAT_EPSILON is never read
var GLMAT_EPSILON = 0.0000001;
^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:6405: WARNING - Value assigned to local variable GLMAT_RANDOM is never read
var GLMAT_RANDOM = Math.random;
^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:8209: WARNING - Value assigned to local variable _vec4_tmp is never read
var _vec4_tmp = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:16686: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_5__libs_gl_matrix_quat_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__libs_gl_matrix_quat_js__ = __webpack_require__(8);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:17235: WARNING - Value assigned to local variable _quat_tmp is never read
var _quat_tmp = __WEBPACK_IMPORTED_MODULE_8__libs_gl_matrix_quat_js__["create"]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:17237: WARNING - Value assigned to local variable _quat4_tmp2 is never read
var _quat4_tmp2 = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:17244: WARNING - Value assigned to local variable _pline_tmp is never read
var _pline_tmp = new Float32Array(6);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:20126: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_9__util_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_js__ = __webpack_require__(2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:28504: WARNING - Value assigned to local variable _vec3_tmp2 is never read
var _vec3_tmp2 = new Float32Array(3);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:28507: WARNING - Value assigned to local variable _tsr_tmp2 is never read
var _tsr_tmp2 = __WEBPACK_IMPORTED_MODULE_11__tsr_js__["b" /* create */]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:30009: WARNING - Value assigned to local variable phy_set is never read
var phy_set = obj.physics_settings;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:33859: WARNING - Value assigned to local variable GLMAT_RANDOM is never read
var GLMAT_RANDOM = Math.random;
^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:41832: WARNING - Value assigned to local variable GLMAT_EPSILON is never read
var GLMAT_EPSILON = 0.0000001;
^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:41834: WARNING - Value assigned to local variable GLMAT_RANDOM is never read
var GLMAT_RANDOM = Math.random;
^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:46626: WARNING - Value assigned to local variable _vec4_tmp is never read
var _vec4_tmp = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:48823: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_5__libs_shader_texts_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__libs_shader_texts_js__ = __webpack_require__(90);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:51535: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_18__libs_gl_matrix_vec4_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__libs_gl_matrix_vec4_js__ = __webpack_require__(7);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:53741: WARNING - Value assigned to local variable keys is never read
var keys = Object.keys(channels);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:55148: WARNING - Value assigned to local variable right_top_near is never read
var right_top_near = __WEBPACK_IMPORTED_MODULE_9__libs_gl_matrix_vec3_js__["transformMat4"]([1, 1, -1], inv_proj_mat, _vec3_tmp);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:55152: WARNING - Value assigned to local variable left_down_near is never read
var left_down_near = __WEBPACK_IMPORTED_MODULE_9__libs_gl_matrix_vec3_js__["transformMat4"]([-1, -1, -1], inv_proj_mat, _vec3_tmp);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:56403: WARNING - optional arguments must be at the end
exports.get_coords_target_space = function(event, use_target_touches, dest) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:71853: WARNING - Value assigned to local variable _vec3_tmp is never read
var _vec3_tmp = new Float32Array(3);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:72107: WARNING - Value assigned to local variable _vec2_tmp is never read
var _vec2_tmp = new Float32Array(2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:72108: WARNING - Value assigned to local variable _vec2_tmp_2 is never read
var _vec2_tmp_2 = new Float32Array(2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:72110: WARNING - Value assigned to local variable _vec3_tmp_2 is never read
var _vec3_tmp_2 = new Float32Array(3);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:72112: WARNING - Value assigned to local variable _quat4_tmp2 is never read
var _quat4_tmp2 = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:86768: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_3__util_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_js__ = __webpack_require__(2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmpffo87r3d.js:96570: WARNING - Redeclared variable: module
var module, define, global, pako_require;
^^^^^^

/tmp/tmpffo87r3d.js:96572: WARNING - variable exports is undeclared
/* pako 1.0.5 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof pako_require=="function"&&pako_require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof pako_require=="function"&&pako_require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(pako_require,module,exports){
^^^^^^^

/tmp/tmpffo87r3d.js:96572: WARNING - Value assigned to local variable define is never read
/* pako 1.0.5 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof pako_require=="function"&&pako_require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof pako_require=="function"&&pako_require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(pako_require,module,exports){
^^^^^^

/tmp/tmpffo87r3d.js:96572: WARNING - Value assigned to local variable module is never read
/* pako 1.0.5 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof pako_require=="function"&&pako_require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof pako_require=="function"&&pako_require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(pako_require,module,exports){
^^^^^^

/tmp/tmpffo87r3d.js:96572: WARNING - Value assigned to local variable exports is never read
/* pako 1.0.5 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof pako_require=="function"&&pako_require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof pako_require=="function"&&pako_require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(pako_require,module,exports){
^^^^^^^

/tmp/tmpffo87r3d.js:99620: WARNING - Property dictionary never defined on this.options
var dictionary = this.options.dictionary;
^^^^^^^^^^

0 error(s), 48 warning(s), 69.5% typed
——————————————————–
Compiling: /home/dal/workspace/blend4web/dist/b4w.min.js
——————————————————–
/home/dal/workspace/blend4web/scripts/../tools/closure-compiler/extern_modules.js:3: WARNING - Variable self first declared in externs.zip//window.js
var self;
^^^^

/tmp/tmp_oo19btf.js:473: WARNING - Value assigned to local variable TSR8_IDENT is never read
var TSR8_IDENT = __WEBPACK_IMPORTED_MODULE_4__tsr_js__["b" /* create */]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:474: WARNING - Value assigned to local variable TSR_IDENT is never read
var TSR_IDENT = __WEBPACK_IMPORTED_MODULE_4__tsr_js__["b" /* create */]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:2934: WARNING - Value assigned to local variable GLMAT_EPSILON is never read
var GLMAT_EPSILON = 0.0000001;
^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:4969: WARNING - Value assigned to local variable _vec3_tmp is never read
var _vec3_tmp = new Float32Array(3);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:4970: WARNING - Value assigned to local variable _quat_tmp is never read
var _quat_tmp = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:4971: WARNING - Value assigned to local variable _mat4_tmp is never read
var _mat4_tmp = new Float32Array(16);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:5294: WARNING - Value assigned to local variable transform_mat4 is never read
var transform_mat4 = (function () {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:5559: WARNING - Value assigned to local variable scale is never read
var scale = get_scale(tsr, _vec3_tmp);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:5560: WARNING - Value assigned to local variable scale2 is never read
var scale2 = get_scale(tsr2, _vec3_tmp2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:5579: WARNING - Value assigned to local variable extrapolate is never read
var extrapolate = (function () {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:5623: WARNING - Value assigned to local variable _vec3_tmp2 is never read
var _vec3_tmp2 = __WEBPACK_IMPORTED_MODULE_3__libs_gl_matrix_vec3_js__["create"]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:5661: WARNING - Value assigned to local variable to_zup_view is never read
var to_zup_view = (function () {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:5689: WARNING - Value assigned to local variable to_zup_model is never read
var to_zup_model = (function () {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:5790: WARNING - Value assigned to local variable GLMAT_EPSILON is never read
var GLMAT_EPSILON = 0.0000001;
^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:6403: WARNING - Value assigned to local variable GLMAT_EPSILON is never read
var GLMAT_EPSILON = 0.0000001;
^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:6405: WARNING - Value assigned to local variable GLMAT_RANDOM is never read
var GLMAT_RANDOM = Math.random;
^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:8209: WARNING - Value assigned to local variable _vec4_tmp is never read
var _vec4_tmp = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:16686: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_5__libs_gl_matrix_quat_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__libs_gl_matrix_quat_js__ = __webpack_require__(8);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:17235: WARNING - Value assigned to local variable _quat_tmp is never read
var _quat_tmp = __WEBPACK_IMPORTED_MODULE_8__libs_gl_matrix_quat_js__["create"]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:17237: WARNING - Value assigned to local variable _quat4_tmp2 is never read
var _quat4_tmp2 = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:17244: WARNING - Value assigned to local variable _pline_tmp is never read
var _pline_tmp = new Float32Array(6);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:20126: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_9__util_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_js__ = __webpack_require__(2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:28504: WARNING - Value assigned to local variable _vec3_tmp2 is never read
var _vec3_tmp2 = new Float32Array(3);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:28507: WARNING - Value assigned to local variable _tsr_tmp2 is never read
var _tsr_tmp2 = __WEBPACK_IMPORTED_MODULE_11__tsr_js__["b" /* create */]();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:30009: WARNING - Value assigned to local variable phy_set is never read
var phy_set = obj.physics_settings;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:33859: WARNING - Value assigned to local variable GLMAT_RANDOM is never read
var GLMAT_RANDOM = Math.random;
^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:41832: WARNING - Value assigned to local variable GLMAT_EPSILON is never read
var GLMAT_EPSILON = 0.0000001;
^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:41834: WARNING - Value assigned to local variable GLMAT_RANDOM is never read
var GLMAT_RANDOM = Math.random;
^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:46626: WARNING - Value assigned to local variable _vec4_tmp is never read
var _vec4_tmp = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:48823: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_5__libs_shader_texts_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__libs_shader_texts_js__ = __webpack_require__(90);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:51535: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_18__libs_gl_matrix_vec4_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__libs_gl_matrix_vec4_js__ = __webpack_require__(7);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:53741: WARNING - Value assigned to local variable keys is never read
var keys = Object.keys(channels);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:55148: WARNING - Value assigned to local variable right_top_near is never read
var right_top_near = __WEBPACK_IMPORTED_MODULE_9__libs_gl_matrix_vec3_js__["transformMat4"]([1, 1, -1], inv_proj_mat, _vec3_tmp);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:55152: WARNING - Value assigned to local variable left_down_near is never read
var left_down_near = __WEBPACK_IMPORTED_MODULE_9__libs_gl_matrix_vec3_js__["transformMat4"]([-1, -1, -1], inv_proj_mat, _vec3_tmp);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:56403: WARNING - optional arguments must be at the end
exports.get_coords_target_space = function(event, use_target_touches, dest) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:71853: WARNING - Value assigned to local variable _vec3_tmp is never read
var _vec3_tmp = new Float32Array(3);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:72107: WARNING - Value assigned to local variable _vec2_tmp is never read
var _vec2_tmp = new Float32Array(2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:72108: WARNING - Value assigned to local variable _vec2_tmp_2 is never read
var _vec2_tmp_2 = new Float32Array(2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:72110: WARNING - Value assigned to local variable _vec3_tmp_2 is never read
var _vec3_tmp_2 = new Float32Array(3);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:72112: WARNING - Value assigned to local variable _quat4_tmp2 is never read
var _quat4_tmp2 = new Float32Array(4);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:86768: WARNING - Value assigned to local variable __WEBPACK_IMPORTED_MODULE_3__util_js__ is never read
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_js__ = __webpack_require__(2);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/tmp/tmp_oo19btf.js:96570: WARNING - Redeclared variable: module
var module, define, global, pako_require;
^^^^^^

/tmp/tmp_oo19btf.js:96572: WARNING - variable exports is undeclared
/* pako 1.0.5 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof pako_require=="function"&&pako_require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof pako_require=="function"&&pako_require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(pako_require,module,exports){
^^^^^^^

/tmp/tmp_oo19btf.js:96572: WARNING - Value assigned to local variable define is never read
/* pako 1.0.5 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof pako_require=="function"&&pako_require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof pako_require=="function"&&pako_require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(pako_require,module,exports){
^^^^^^

/tmp/tmp_oo19btf.js:96572: WARNING - Value assigned to local variable module is never read
/* pako 1.0.5 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof pako_require=="function"&&pako_require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof pako_require=="function"&&pako_require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(pako_require,module,exports){
^^^^^^

/tmp/tmp_oo19btf.js:96572: WARNING - Value assigned to local variable exports is never read
/* pako 1.0.5 nodeca/pako */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.pako = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof pako_require=="function"&&pako_require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof pako_require=="function"&&pako_require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(pako_require,module,exports){
^^^^^^^

/tmp/tmp_oo19btf.js:99620: WARNING - Property dictionary never defined on this.options
var dictionary = this.options.dictionary;
^^^^^^^^^^

0 error(s), 48 warning(s), 69.5% typed


2) Click build project for webplayer in Project Manager
my log:
Building project: webplayer
—————————-
Converting ES6: webplayer.js
—————————-
—————————————————
Processing: deploy/apps/webplayer/webplayer.min.css
—————————————————
——————————————————————————-
Compiling: /home/dal/workspace/blend4web/deploy/apps/webplayer/webplayer.min.js
——————————————————————————-
————————————————
Processing: deploy/apps/webplayer/webplayer.html
————————————————
Project building completed.


The errors during resources convertion also are not important.

How do you open your json with webplayer? Could you show the URL you are using?
Alexander (Blend4Web Team)
twitter
25 February 2018 16:52
Для этого необходимо во-первых создать проект на основе вашего blend-файла. Почитайте статьи по Менеджеру проектов:
Бастрый старт с Project Manager
Вам нужно создать проект с настройками по-умолчанию (задайте только имя проекта). Он создастся в папке projects/имя_проекта. В Папке blender будет лежать blend-файл, используемый в этом сгенерированном проекте. Скопируйте в папку blender свой blend-файл. Откройте его в blender и экспортируйте в Blend4Web json формат. При экспорте укажите путь к папке projects/имя_проекта/assets. Далее вам нужно в файле имя_проекта.js подправить путь к json. Таким образом вы получите полноценное веб-приложение с javascript и html кодом, который вы можете редактировать чтобы сверстать свой интерфейс на html а также добавить js-обработчики.
По верстке в контексте Blend4Web есть неплохой урок на английском
Alexander (Blend4Web Team)
twitter
25 February 2018 15:23
В вашем примере на кубике стоит галочка "Apply Scale And Modifiers". С ней все модификаторы в том числе и Armature применяется, и экспортированный меш является уже не заскиненным. Подумаем, что можно сделать, чтобы защитить от таких проблем пользователей.
Alexander (Blend4Web Team)
twitter
25 February 2018 13:39
Пришлось использовать "устаревший" метод "change_image" вместо документированного "replace_image" (с руганью в консоли) … т.к. последний ни при каких обстоятельствах не посещает свой калбек и все эти ошибки были как раз по его поводу.

Хорошо, что у вас получилось. Посмотрим, в чем проблема.
Alexander (Blend4Web Team)
twitter
25 February 2018 13:36
Ознакомьтесь с серией уроков по нодовой логике
обратите внимание, что нода Switch Select сейчас называется просто Select
Alexander (Blend4Web Team)
twitter
25 February 2018 13:28
Вы уверены, что вам нужны именно html-кнопки? Вы можете просто припэрентить кнопки к камере и выставить выравнивание по нижней грани вьюпорта https://www.blend4web.com/doc/ru/camera.html?highlight=viewport%20alignment#viewport-alignment. HTML имеет смысл когда вам необходим сложный интерфейс со сложной версткой, а ваш случай довольно простой и типичный. Мне кажется, что можно обойтись тем что уже сделано, только "прикрепить" интерфейс к вьюпорту.
Alexander (Blend4Web Team)
twitter