如何转换UnityEngine.Transform至Media3d.Transform3d

时间:2014-07-22 08:35:09

标签: c# unity3d

我在最后一行代码中遇到此错误,并且不知道如何转换

 Cannot implicitly convert type 'UnityEngine.Transform' to 'System.Windows.Media.Media3D.Transform3D'

这是代码:

private void Window_Loaded_1(object sender, RoutedEventArgs e)
    {
        rotire rot = new rotire();
        rot.rotiree();
        mycube.Transform = rot.transform;
    }

这是方法:

public void rotiree()
    {
        transform.Rotate(new Vector3(15,40,45)*speed,Time.deltaTime);
    }

编辑: Rotire类包含一个旋转立方体的方法。方法的名称是" rotire"

立方体是用XAML制作的

rotire.cs

    using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using System.Collections;

namespace WpfApplication6
{
    class Rotire:MonoBehaviour
    {
        float speed=10f;
        public void rotire()
        {
            transform.Rotate(new Vector3(15,40,45)*speed,Time.deltaTime);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你正在疯狂地混合Unity和WPF。我不认为这是有意的。

在此创建基于Unity MonoBehavior类的对象:

rotire rot = new rotire();

这个接缝是Media3d类:

mycube

在这里,您尝试将Unity变换引用到Media3d.Transform(WPF变换)对象。

mycube.Transform = rot.transform; 

这不起作用,因为它们不是同一类型。您需要在WPF中旋转WPF多维数据集或在Unity中旋转Unity多维数据集。