

ここで質問するのが初めてなのでミスやわかりにくい部分などあったらすみません。

今Unity5.4.3を使用していて、scriptでアニメーションを作成しています。  
流れとしては、Arduinoのセンサから値を読み取る→値の計算をする→動かす物体Aの現在地を読み取る→計算した値の分だけAを動かす→描画する  
というような感じです。

センサの値を読み取るのと値の計算までは確実にできていることを確認しました（一行ずつ確かめました）が、次のAの現在地を読み取ることができません。  
Vector３の型がMonodevelop上で存在しないといわれていたり、Aの認識ができていない可能性などがあるのですが、どう確かめるのか、実際に何が原因かがわからないままで困っています、どなたか力を貸していただけないでしょうか。

以下プログラムを一部抜粋したものです。

[code]

    public Vector3 poshand;
    void Start () {
        poshand = new Vector3 ();
    }
    
    void Update () {
        progresstime += Time.deltaTime;
        if(progresstime >= 0.25){
            portRead();
            progresstime = 0f;
        }
    }
    
    public void portRead(){
        if(port1 != null && port1.IsOpen) {
            //このあたりにArduinoのセンサー読み取りと値の計算（長いので省略
           try{
                handmoves(myData_proxsensor);
            }catch(System.Exception e){
                textobj.GetComponent<UnityEngine.UI.Text> ().text = "Verror";
            }
        }
    }
      public void handmoves(int ard_parameter){
        poshand = shakeshand.transform.position;//ここでエラー
        poshand.x -= ard_parameter/5;
        shakeshand.transform.position = poshand;//ここでエラー
      }
    
[/code]


CC BY-SA 3.0
2016-12-13T09:10:23.447
31116
2019-04-20T02:01:50.360
2016-12-14T13:54:28.027
754
19904
question
c# unity3d
Unity　Vector３が認識されません


shakeshand の宣言部分が含まれてないので勘ですが、  
これが GameObject になってないのではないかと思います。

もしくは「shakeshand」が変数ではなくノード名だとすると、  
gameObject.transform.position に置き換えるとエラーは出なくなります。

エラーが出てる場合はエラーメッセージをよく読んで対応するか、  
せめて質問の中にエラーメッセージを含めると、より状況が分かりやすくなります。


CC BY-SA 3.0
2016-12-15T05:47:15.397
31163
2016-12-15T05:47:15.397
2079
31116
answer