小编给大家分享一下TE开发中如何创建摄像头视野,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
成都创新互联公司专注于企业营销型网站、网站重做改版、德阳网站定制设计、自适应品牌网站建设、H5建站、成都商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为德阳等各大城市提供网站开发制作服务。
在三维的系统中,有时会挂接摄像头的信息,模拟现实摄像头的视野,模拟摄像头在三维中的上下左右移动,模拟拉近摄像头的视野。
以下是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开发中如何创建摄像头视野”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!