我感兴趣的构建UWP应用的是,在启动时,具有默认2D XAML类型视图,但可以切换到一个次级3D UrhoSharp图(顺便说一句,这是要在HoloLens运行)。我是新来UrhoSharp但我能够遵循通过创建在Visual Studio中新UWP应用了3D UWP UrhoSharp应用一些在线教程,删除“的App.xaml”和“MainPage.xaml中”类,然后定义通过添加以下内容,创建一个新的UrhoSharp入口点:
using Urho;
public static class Program
{
[MTAThread]
static void Main() => CoreApplication.Run(new UrhoAppViewSource<MixedRealityApplication>());
}
和
using Urho;
using Urho.SharpReality;
internal class MixedRealityApplication : StereoApplication
{
public MixedRealityApplication(ApplicationOptions options) : base(options)
{
// Do some initialization.
}
protected override void Start()
{
// Start drawing some 3D stuff
{
}
以上方法可以正常工作,并且可以看到3D对象。现在,我希望创建一个UWP应用程序,该应用程序以其默认视图作为标准2D XAML窗口开始,但是单击按钮时便能够切换到3D UrhoSharp视图。我发现以下线程正是作者所做的:
https://forums.xamarin.com/discussion/98907/right-way-to-run-urhosharp-as-part-of-2d-uwp-on-hololens
但是,代码示例非常稀疏(1或2行),我什么也看不到。我尝试以作者使用的方式在上面的代码中使用(未修改的)“ MixedRealityApplication”类:
Using Windows.ApplicationMode.Core;
using Urho;
private void Button_Click)object sender, RoutedEventArgs e)
{
CoreApplicationView urho3DView = CoreApplication.CreateNewView(new UrhoAppViewSource<MixedRealityApplication>());
...etc...
}
试图实例“urho3DView”当上述引发以下例外:“System.Runtime.InteropServices.COMException:‘的方法,被称为在一个意想不到的时间’”
我不确定还可以尝试什么,而且根据链接的帖子看来可能的事实令人着迷。有谁知道如何去做吗?如果只有作者在他/她的代码中显示了“ HelloWorldApplication”的样子。