Как оптимизировать текст HTML-шейдера A-Frame для визуализации VR? - PullRequest
0 голосов
/ 01 ноября 2018

Привет всем, поэтому я пытался отобразить страницу книги, которая прикреплена к вашей руке в VR (тестирование на oculus-go), используя A-FRAME. Сначала я попытался использовать плоскость и применить к ней текст с помощью атрибута text, а затем определить его значение, выравнивание, шрифт и т. Д. Все работало достаточно хорошо, однако текст получал "неровные края", которые, по-видимому, становились хуже по мере движения ваша рука (что в принципе невозможно сделать) делает ее очень плохой для длинной текстовой формы, такой как страница книги.

Затем я попытался изучить альтернативу с помощью aframe-html-шейдера от mayognaise. Создав html div и используя css, это идеальное решение с точки зрения настройки, выравнивания и т. Д., И когда я его отрисовываю, текст больше не получает «зубчатых краев» (так как это в основном текстура). Тем не менее, он становится достаточно размытым, что становится утомительным для длинных чтений.

Я перепробовал все, что мог, чтобы увеличить его резкость, но он продолжает быть размытым, что для меня абсолютно бессмысленно.

Что я пробовал:

  • Увеличение размера объекта, к которому применяется текстура, а затем масштабирование его после рендера - результат: то же самое ...

  • Увеличение размера холста или текстуры внутри aframe-html-shader.js - результат: то же самое ... однако некоторые попытки повозиться, кажется, вызывают "изображение слишком большое (.. .) уменьшение до 4000 "(4000, что-то, что я не помню, точное значение), которые, кажется, указывают на то, что холст уже воспроизводится в полном разрешении

  • Переключение с Mayognaise aframe-html-shader.js на вилку wildlifela (у которой уже есть опция «scale» в шейдере) и применение «canvasScale: 2» - результат: то же самое ...

  • Использование html-элемента шириной 4000px в качестве объекта для рендеринга с соответствующим увеличением шрифта - результат: то же самое ...

У меня нет идей, и я действительно не понимаю, почему я не могу получить достаточно хороший текст из HTML-шейдера, поскольку, если текст находится внутри изображения, и я использую это же изображение в качестве текстуры, текст приходит отлично читается.

Нужна помощь от всех экспертов и разработчиков A-Frame здесь!

Спасибо всем заранее!

1 Ответ

0 голосов
/ 01 ноября 2018

Увеличение размера холста или текстуры внутри aframe-html-shader.js - результат: то же самое ... однако некоторые попытки повозиться, кажется, вызывают "слишком большое (...) масштабирование изображения" до 4000 "(4000, что-то, я не помню точное значение), которые, кажется, указывают на то, что холст уже отображается в полном разрешении

Это не было слишком большим. Это связано с тем, что текстуры должны иметь степень двух размеров (например, 4096x4096).

Стандартный текстовый компонент должен быть четким, хотя. В главной ветке A-Frame есть исправление, чтобы сделать текст более понятным, может помочь. https://github.com/aframevr/aframe/commit/8d3f32b93633e82025b4061deb148059757a4a0f

...