атрибут позиции компонента ViroCamera не может изменить положение камеры

Я пытаюсь изменить положение камеры с положительным значением по оси z (position={[0,0,30]}) для имитации увеличения.

настройки:

ViroVRSceneNavigator имеет для атрибута vrModeEnabled значение false.

реагировать-родной: 0.59.3

реагировать: 16.8.3

реагировать-viro: 2.16.0

платформа: Android

пример базового кода:

export default class HelloWorldScene extends Component {

  render() {
    return (
      <ViroScene>
        <Viro360Image
          source={{uri:this.props.sceneNavigator.viroAppProps.uri}}
        />
        <ViroCamera position={[0,0,30]} active={true} />
      </ViroScene>
    );
  }

}

но он работает только с атрибутом вращения.

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

пример кода с увеличением при нажатии:

export default class HelloWorldScene extends Component {

  constructor(props) {
    super(props);
    this.state = {
      rotation:[0,0,0],
      position:[0,0,0],
    }
  }

  _zoom = () => {
    if (this.state.position[2] !== 0) {
      this.setState({
        position:[0,0,0]
      })
    }else {
      this.setState({
        position:[0,0,30]
      })
    }
  }

  render() {
    return (
      <ViroScene onClick={()=>{this._zoom()}}>
        <Viro360Image
          source={{uri:this.props.sceneNavigator.viroAppProps.uri}}
        />
        <ViroCamera position={this.state.position} active={true} />
      </ViroScene>
    );
  }

}

0 ответов

Другие вопросы по тегам