2017-11-05 4 views
1

私はreact-vrで新しくツアーアプリを作りたいと思っています。そこで私はPanoの写真を更新します。新しいピクチャを設定すると、カメラ/シーンは新しいピクチャをロードする前と同じ位置になります。ここでReact-VRはPanoを交換するときのカメラの位置を設定します

は、コードの一部です:

render() { 
if (!this.state.data) { 
    return null; 
} 

const locationId = this.state.locationId; 
const isLoading = this.state.nextLocationId !== this.state.locationId; 

return (

    <View> 
     <Pano 
     style={{ 
      position: 'absolute' 
      }} 
     onLoad={() => { 
      this.setState({ 
      locationId: this.state.nextLocationId 
      }); 
     }} 
     source={asset(this.state.data.photos360[this.state.nextLocationId].uri)} 
     /> 

     {tooltips && tooltips.map((tooltip, index) => { 
     return(
      <NavButton 
      key={index} 
      isLoading={isLoading} 
      onInput={() => { 
        this.setState({ 
         nextLocationId: tooltip.linkedPhoto360Id}); 
      }} 
      source={asset(this.state.data.nav_icon)} 
      textLabel={tooltip.text} 
      rotateY={(tooltip.rotationY && tooltip.rotationY) || 0} 
      rotateX={(tooltip.rotationX && tooltip.rotationX) || 0} 
      translateZ={(tooltip.translateZ && tooltip.translateZ) || this.translateZ} 
      /> 
     ); 
     })} 
    </View> 

);} 

は、今私は、私が絵上の特定の位置で開始するように画像をカメラの位置を設定したり、変換したいです。

私はreact-vrで実際のカメラの位置を取得したり、カメラの位置を設定したりすることはできませんでした。

は何これを行うための最善の方法だろうか?
助けてくれてありがとう

+0

パノラマを回転させて、特定の方向に向かっているように見えます。それがうまくいけば、パノラマのstyle属性でローテーションを設定することができます。 – cidicles

+0

私はパノラマを回転しようとしましたが、カメラの実際の回転を知る必要があります。ユーザーが180°回転してパノラマを置き換えると、カメラの回転はまだ180°です。だから私は何とかカメラの回転を取得し、パノの回転を私が思うこの価値に設定する必要があります。しかし、私はどのように回転を取得するか分かりません。 – luki

+0

Gotcha - あなたはVRHeadModelを探しています:https://facebook.github.io/react-vr/docs/vrheadmodel.html – cidicles

答えて

0

他の人にも同様の問題がある場合は解決策が見つかりました。

render() { 
//if the pano source changes it renders 
//it gets the position in x and y axis in ° via the VrHeadModel 
const rotationY=VrHeadModel.yawPitchRoll()[1]+offestY; 
const rotationX=VrHeadModel.yawPitchRoll()[0]+offsetX; 

return (
    <Pano 
     style={{ 
      position: 'absolute', 
      transform:[ 
      {rotateY: rotationY}, 
      {rotateX: rotationX}, 
      ] 
     }} 
     source={asset("photo.png")} 
    /> 
); 
} 

react-vrからVrHeadModelをインポートします。
パノラマが変更された場合、新しい画像はカメラの実際の位置に回転されます。毎回新しい画像を読み込むときに、カメラはパノラマの同じ部分に設定されます。

関連する問題