如何将浮点数添加到Y的位置?

原始代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FloatInAir : MonoBehaviour
{
    public float amplitude;          //Set in Inspector 
     public float speed;                  //Set in Inspector 
     private float tempVal;
     private Vector3 tempPos;

     void Start () 
     {
         tempVal = transform.position.y;
     }

     void Update () 
     {        
         tempPos.y = tempVal + amplitude * Mathf.Sin(speed * Time.time);
         transform.position = tempPos;
     }
}

但是我想保持原来的位置只是改变Y,所以我试图将transform.position行更改为:

transform.position = new Vector3(transform.position.x, transform.position.y + tempPos, transform.position.z);

但是,加号是错误的。