Dictionary 使用Xamarin.forms和UrhoSharp中的Texture2D视图问题加载室内地图图像

Dictionary 使用Xamarin.forms和UrhoSharp中的Texture2D视图问题加载室内地图图像,dictionary,xamarin.forms,textures,indoor-positioning-system,urhosharp,Dictionary,Xamarin.forms,Textures,Indoor Positioning System,Urhosharp,我对乌霍沙普有意见。我想加载带有2D纹理的室内地图图像。我创建了一个具有八叉树(Urho类)和长方体形状的场景,它以3d视图显示。 那么,我如何在2D视图中实现同样的效果呢?任何建议或演示都会非常有用 提前感谢。您可以使用staticsprite2d从正交摄影机加载2d纹理和视图。 提及 //创建精灵图像 var floorNode=_scene.CreateChild(); floorNode.Position=新矢量3(0,0,0.0f); StaticSprite2D staticSpri

我对乌霍沙普有意见。我想加载带有2D纹理的室内地图图像。我创建了一个具有八叉树(Urho类)和长方体形状的场景,它以3d视图显示。 那么,我如何在2D视图中实现同样的效果呢?任何建议或演示都会非常有用


提前感谢。

您可以使用staticsprite2d从正交摄影机加载2d纹理和视图。 提及

//创建精灵图像
var floorNode=_scene.CreateChild();
floorNode.Position=新矢量3(0,0,0.0f);
StaticSprite2D staticSprite=floorNode.CreateComponent();
staticSprite.Color=Color.White;
staticSprite.BlendMode=BlendMode.Alpha;
var sprite=ResourceCache.GetSprite2D(“floorplan_image.jpg”);
静态精灵。精灵=精灵;
//创建一个相机
节点cameraNode=_scene.CreateChild(“摄影机”);
var camera=cameraNode.CreateComponent();
摄影机。正交=真;
cameraNode.Position=(新矢量3(0.0f,0.0f,-10.0f));
camera.OrthoSize=(float)Graphics.Height*像素大小;

感谢托比的回答。实际上,我正在使用材质加载图像。感谢Tobi的回答。实际上,我正在使用材质加载图像。var plane=baseNode.CreateComponent();plane.Model=CoreAssets.Models.plane;var imageUrl=“此处为图像url”;var wc=new WebClient(){Encoding=Encoding.UTF8};var img=新图像(上下文){Name=“MyTextureImage”};img.Load(newmemorybuffer(wc.DownloadData(imageUrl));plane.SetMaterial(Material.FromImage(img));二维图像加载效果良好,但以三维方式移动。那么,当我缩放图像时,如何以2D方式移动图像?它应该以3D方式显示,如谷歌地图。@PuneetMahali如果您想要像谷歌地图一样的平移效果,您可以在XY平面上移动相机。对于“缩放效果”,请更改摄影机的缩放值。我已经尝试更改相机的缩放值,但仍在3D中移动。如何在X、Y轴上缩放我也尝试了正交,但它停止了移动?
       //Create  sprite image
        var floorNode = _scene.CreateChild();
        floorNode.Position = new Vector3(0, 0, 0.0f);
        StaticSprite2D staticSprite = floorNode.CreateComponent<StaticSprite2D>();
        staticSprite.Color = Color.White;
        staticSprite.BlendMode = BlendMode.Alpha;
        var sprite = ResourceCache.GetSprite2D("floorplan_image.jpg");
        staticSprite.Sprite = sprite;

        //Create a camera
        Node cameraNode = _scene.CreateChild("camera");
        var camera = cameraNode.CreateComponent<Camera>();
        camera.Orthographic = true;
        cameraNode.Position = (new Vector3(0.0f, 0.0f, -10.0f));
        camera.OrthoSize = (float)Graphics.Height * PixelSize;