千家信息网

TE开发中如何创建摄像头视野

发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,小编给大家分享一下TE开发中如何创建摄像头视野,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在三维的系统中,有时会挂接摄像
千家信息网最后更新 2024年11月12日TE开发中如何创建摄像头视野

小编给大家分享一下TE开发中如何创建摄像头视野,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在三维的系统中,有时会挂接摄像头的信息,模拟现实摄像头的视野,模拟摄像头在三维中的上下左右移动,模拟拉近摄像头的视野。

以下是C#的代码实现:

//鼠标点击获取位置,设置高度为相对

IWorldPointInfo6 Iworldinfo = sgworld.Window.PixelToWorld(X, Y, WorldPointType.WPT_DEFAULT);

Iworldinfo.Position.AltitudeType = AltitudeTypeCode.ATC_TERRAIN_RELATIVE;

Iworldinfo.Position.Altitude = 10;

//创建一个摄像头的模型

ITemodel = sgworld.Creator.CreateModel(Iworldinfo.Position, 模型文件路 径, 1, ModelTypeCode.MT_NORMAL, 0, "shipin");

//设置摄像头的向上视角

Iworldinfo.Position.Pitch = -90;

rtapos = Iworldinfo.Position.Copy();

//创建颜色

IColor6 crtcolor = sgworld.Creator.CreateColor(Color.LightBlue.R, Color.LightBlue.G, Color.LightBlue.B, 120);

//创建椎体效果

ITeRegBase = sgworld.Creator.CreateCone(Iworldinfo.Position, 2, 5, crtcolor, crtcolor, -1, 0, "shizhui");

//将椎体绑定到模型上,并飞到模型

ITeRegBase.Attachment.AttachTo(ITemodel.ID, 0, 5, 0);

sgworld.Navigate.FlyTo(ITemodel);

//摄像头和椎体的左移

ITemodel.Position.Yaw += 10;

ITeRegBase.Position.Pitch = rtapos.Pitch;

ITeRegBase.Position.Yaw += 10;

//摄像头和椎体的收缩

ITeRegBase.Height += 1;

ITeRegBase.Attachment.AttachTo(ITemodel.ID, 0, ITeRegBase.Height,

0);

ITeRegBase.Position.Pitch = rtapos.Pitch;

ITeRegBase.Radius -= 0.3;

//摄像头和椎体的上俯视

if (rtapos.Pitch > -130.0 && rtapos.Pitch < -35.0)

{

rtapos.Pitch -= 9;

ITeRegBase.Position.Pitch = rtapos.Pitch;

ITeRegBase.Attachment.AttachTo(ITemodel.ID, 0,

ITeRegBase.Height, 0);

ITemodel.Position.Pitch -= 9;

}

摄像头的效果图:

以上是"TE开发中如何创建摄像头视野"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0