React Native Viro реагирует VR SkyBox не работает - PullRequest
0 голосов
/ 11 мая 2019

Я занимаюсь разработкой VR-приложения с использованием ViroReact, https://viromedia.com/viroreact. Но у меня возникли проблемы с использованием VR-сцены SkyBox (Cubemap). Все работает нормально, когда я использовал Viro360Image view.

Это моя виртуальная сцена с использованием Viro360Image view

export default class HotelRoomVRScene extends Component {
    constructor() {
        super();
        this.state = {} // Set initial state here
    }

    render() {
      return (
        <ViroScene>
          <Viro360Image source={require('./res/hotel-room.jpg')} />
        </ViroScene>
      )
    }
}


module.exports = HotelRoomVRScene;

Сцена выше работает нормально. Я также могу просматривать опыт VR в гарнитуре VR. Но когда я изменил его на версию Skybox, как показано ниже. Перестал работать.

export default class HotelRoomVRScene extends Component {
    constructor() {
        super();
        this.state = {} // Set initial state here
    }

    render() {
      return (
        <ViroScene>
          <ViroSkybox source={{nx: require('./res/px.jpg'),
                       px: require('./res/px.jpg'),
                       ny: require('./res/px.jpg'),
                       py: require('./res/px.jpg'),
                       nz: require('./res/px.jpg'),
                       pz: require('./res/px.jpg')}} />
        </ViroScene>
      )
    }
}

module.exports = HotelRoomVRScene;

Приведенный выше код вызывает следующую ошибку.

* +1012 *enter image description here

Так почему версия Skybox не работает и как я могу это исправить, пожалуйста?

1 Ответ

1 голос
/ 22 мая 2019

На вашем методе рендеринга:

render() {
  return (
    <ViroScene>
      <ViroSkybox source={{nx: require('./res/px.jpg'),
                   px: require('./res/px.jpg'),
                   ny: require('./res/px.jpg'),
                   py: require('./res/px.jpg'),
                   nz: require('./res/px.jpg'),
                   pz: require('./res/px.jpg')}} />
    </ViroScene>
  )
}

у вас есть опечатка для скайбокса, вместо

имеется в виду: https://docs.viromedia.com/docs/viroskybox1

а также вы экспортируете один и тот же класс два раза, один в:

export default class HotelRoomVRScene extends Component {

другой в:

module.exports = HotelRoomVRScene;

Я предлагаю вам удалить последний.

...