2017-11-17 1 views
0

コンソールのエラーは表示されませんが、アニメーションが実行されていないか、シーンが大きすぎてアニメーションが実行されないモデルが実際にロードされています...何か私のコードには欠けていますか?アニメーションがReactVRで動作していない

import React from 'react'; 
import { asset, View, StyleSheet, Model, Animated } from 'react-vr'; 

const AnimatedModel = Animated.createAnimatedComponent(Model); 

export default class Loral extends React.Component { 
    constructor(props) { 
    super(props); 
    this.state = { 
     satelliteTransX: new Animated.Value(3), 
     satelliteRotY: -45, 
    }; 
    } 

    componentDidMount() { 
    this.state.satelliteTransX.setValue(3); 
    Animated.timing(
     this.state.satelliteTransX, 
     { 
     toValue: 10, 
     duration: 1000, 
     delay: 1000 
     } 
    ).start(); 
    } 

    render() { 
    return (
     <View> 
     <AnimatedModel 
      source={{ 
      obj: asset('/Loral-1300Com-obj/Loral-1300Com-main.obj'), 
      mtl: asset('/Loral-1300Com-obj/Loral-1300Com-main.mtl') 
      }} 
      style={{ 
       transform: [ 
       {translate: [this.state.satelliteTransX, 0, -10]}, 
       { scale: 0.01 }, 
       { rotateX: 30}, 
       { rotateY: this.state.satelliteRotY } 
      ] 
      }} 
     /> 
     </View> 
    ); 
    } 
}; 

答えて

1

ごので、代わりにこの軸によって個別に変換設定してみてください:

style={{ 
    transform: [ 
     {translate: [this.state.satelliteTransX, 0, -10]}, 
     { scale: 0.01 }, 
     { rotateX: 30}, 
     { rotateY: this.state.satelliteRotY } 
    ] 
}} 

はあなたのためにトリックを行う必要があり、この

style={{ 
    transform: [ 
     {translateX: this.state.satelliteTransX}, 
     {translateY: 0}, 
     {translateZ: -10}, 
     { scale: 0.01 }, 
     { rotateX: 30}, 
     { rotateY: this.state.satelliteRotY } 
    ] 
}} 

を試してみてください。上記のような配列で参照されているすべてのアニメーションプロパティでこの問題が発生しました。

+0

あなたのお勧めをここに従っていますかわかりません。私の翻訳したX軸はすでに分離されており、私はアニメートしようとしている値です。あなたは私のコードにあなたが推薦しているものを見せてもらえますか? –

+0

ごめんなさい - 少し不明でした。私の答えを更新しました。 – cidicles

+0

それはありがとうございました。 –

関連する問題