我在最后一行代码中遇到此错误,并且不知道如何转换
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);
}
}
}
答案 0 :(得分:0)
你正在疯狂地混合Unity和WPF。我不认为这是有意的。
在此创建基于Unity MonoBehavior类的对象:
rotire rot = new rotire();
这个接缝是Media3d类:
mycube
在这里,您尝试将Unity变换引用到Media3d.Transform(WPF变换)对象。
mycube.Transform = rot.transform;
这不起作用,因为它们不是同一类型。您需要在WPF中旋转WPF多维数据集或在Unity中旋转Unity多维数据集。