Добавление изображения в сущность aframe в React

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

<Entity geometry="primitive: plane; width: 30; height: 30" 
                material={{src: "url(assets/image2.jpg)"}}
                position="0 -2 0"
                rotation="-90 0 0">
</Entity>

Однако изображение не отображается. Изображение правильно загружено в необработанном html, но не работает с React и JSX.

В консоли появляются следующие ошибки:

компоненты: texture: warn $s не является допустимым видео + 1s assets / image2.jpg

[.Offscreen-For-WebGL-0x7fb65d129a00] ПРЕДУПРЕЖДЕНИЕ ДЛЯ ОТОБРАЖЕНИЯ: текстура, привязанная к текстурному блоку 0, не визуализируется. Это может быть не степень двойки и несовместимая фильтрация текстур.


person rperegrine    schedule 23.08.2016    source источник
comment
Хм, единственное, что я вижу, это то, что изображение не загрузилось. Дважды проверьте путь и свой сервер разработки?   -  person ngokevin    schedule 23.08.2016
comment
Как я могу передать динамические значения в src атрибута материала? Я пробовал этот материал = {{src: 'url (' + {this.state.imageUrl} + ')'}}, но он дает ошибку, что 'this' is зарезервированное ключевое слово. @ngokevin   -  person Aayushi    schedule 03.08.2017


Ответы (1)


Правильный способ передать значение атрибута материала можно
объявить его в методе render () следующим образом

let material = {
            shader: 'flat',
            src : './imagepath.jpg'
        };

то в вашем компоненте сущности пройдите вот так

 <Entity  geometry={{primitive: 'sphere', radius: 5000}} material={material}  />

Если все в порядке, но даже тогда ваше изображение не отображается, убедитесь, что вы импортировали все это: -

import React from 'react';
import 'aframe';
import 'babel-polyfill';
import {Entity} from 'aframe-react';
person Karan Vyas    schedule 17.11.2017