Как конвертировать из UnityEngine.Transform в Media3d.Transform3d

Я получаю эту ошибку в последней строке кода и не знаю, как конвертировать

Cannot implicitly convert type '***********.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);
 }

EDIT: класс Rotire содержит метод поворота куба. Имя метода - "rotire"

Куб выполнен в XAML

rotire.cs

using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ***********;
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 ответ

Вы дико смешиваете Unity и WPF. Я не думаю, что это было предназначено.

Здесь вы создаете объект, основанный на классе Unity MonoBehavior:

rotire rot = new rotire();

Этот шов будет классом Media3d:

mycube

И здесь вы пытаетесь ссылаться на преобразование Unity на объект Media3d.Transform(WPF Transform).

mycube.Transform = rot.transform;

Это не может работать, поскольку они не являются одинаковыми. Вам нужно либо повернуть куб WPF в WPF, либо ваш куб Unity в Unity.

licensed under cc by-sa 3.0 with attribution.