Сообщения, созданные пользователем quasarusol
19 сентября 2017 09:48
Решение:
var fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', function() {
var file = fileInput.files[0];
var img = new Image();
img.onload = function() {
ctx_image.drawImage(img, 0, 0, ctx_image.canvas.width, ctx_image.canvas.height);
m_tex.update_canvas_ctx(imagePlane, "CubeTexture");
}
img.src = URL.createObjectURL(file);
});
http://vg3d.ru
01 августа 2017 11:09
Ответ на сообщение пользователя Иван ЛюбовниковОгромное спасибо, простите за мою невнимательность! Это то, что нужно
Если проблема та, о которой я думаю, то вам поможет пересчет координат: ссылка
- для нодовой логики это происходит автоматически.
http://vg3d.ru
01 августа 2017 08:32
Ответ на сообщение пользователя Дмитрий Пелевин
Ну тогда вам нужно координаты указателя мыши также скейлить.
Но вообще это неправильный, очень очень очень неправильный подход.
Лучше дожидаться окончания изменения размеров экрана и перемещать камеру в нужный чек пойнт, либо искать другие варианты. Скейл вам подкинет проблем еще в разных браузерах…
Ну скажем так, скейл работает во всех современных браузерах отлично. Мне этого достаточно. Да и другого выхода вроде, как нет для моей задачи.
Пока реализовал все через нодовую логику. Очень странно, но она работает корректно со скейлом. Я так понял это совершенно разные функции.
А кроме pick_object и лучей, есть еще способы выделения объектов?
http://vg3d.ru
31 июля 2017 10:41
Поставьте канвас в контейнер и ресайзите его средствами CSS (`width:100%`). Если нужен фиксированный размер, так и ограничьте его также через CSS.
Вы меня немного не поняли) Мне нужно сделать так, что бы область охватываемая камерой была всегда неподвижна. Я с помощью этого скрипта задаю фиксированные пропорции канваса. Не размер, а пропорции. По этому даже при ресайзе окна браузера пропорции у канваса остаются такие же. Вот пример - https://playcanv.as/p/kx8rLnM1/
Понятно, что именно этот скрипт мешает работе pick_object.
http://vg3d.ru
30 июля 2017 13:01
30 июля 2017 12:45
Столкнулся с такой проблемой. Использую такой скрипт, для позиционирования канваса на странице:
при этом коряво работает функция pick_object. Объекты плохо выделяются, те идет не соответствие фактического расположения объекта. Объект можно выделить только если кликнуть совсем в другую часть экрана. Я не очень понимаю, как работает функция pick_object по этому в замешательстве..
onresize = function()
{
var bodyWidth = document.body.clientWidth
, bodyHeight = document.body.clientHeight;
var scalable = document.getElementById("main_canvas_container");
scale = Math.min(bodyWidth / 1920, bodyHeight / 1080);
scalable.style.top = (bodyHeight - (scalable.offsetHeight * scale)) / 2 + "px";
scalable.style.left = (bodyWidth - (scalable.offsetWidth * scale)) / 2 + "px";
scalable.style.webkitTransform = "scale(" + scale + ")";
}
onresize();
при этом коряво работает функция pick_object. Объекты плохо выделяются, те идет не соответствие фактического расположения объекта. Объект можно выделить только если кликнуть совсем в другую часть экрана. Я не очень понимаю, как работает функция pick_object по этому в замешательстве..
http://vg3d.ru
28 июля 2017 15:46
27 июля 2017 21:13
27 июля 2017 08:23
Вот как-то так, например:
Спасибо, получилось. Но скорость оставляет желать лучшего… Хотел данным способом реализовать эффект перелистывания страниц. Суть заключалась в том, что бы по нажатию на интерфейсную кнопку делался скриншот и накладывался на ранее невидимую плоскость, которая в свою очередь анимирована, как перелистывающаяся страница.
А какими еще способами можно сделать скриншот канваса? Я знаю, что есть целый метод SCREENSHOTER Он вроде работает быстро. Можно ли как то его переделать под себя? Как я понял кроме функции shot он больше ничего не умеет?
http://vg3d.ru
26 июля 2017 08:29