3D旅游环境模拟系统。用三维技术,在WebForm和Winform下分别应该怎样开发?用什么技术?说说解决思路,最好可以给点实例参考下?

解决方案 »

  1.   

    对这方面没有研究在游戏方面的估计这方面做的多光是要做web上做FLASH?sliverlight?
      

  2.   

    Windows用DirectX SDK或WPF...Web就Silverlight或Flash...也可以用XNA...你把它当游戏开发就对了...
      

  3.   

    你搜索一下flash 全景技术非常牛逼的技术,以前见过一个装修公司的网站用这个展示作品,可以用任何角度看。
      

  4.   

    Flash 3d
    Unity 3d
    一个演示http://www.to3d.com/3donline/show-984-1.html
      

  5.   

    http://www.to3d.com/3donline/show-984-1.html
    你去这里看一看
      

  6.   


    做成WPF的吧那就。请问各位有这放面的实例吗?WPF的
      

  7.   


    请问各位大侠,这个3D的展示系统是用什么开发的呢?
    flex、flash、silverlight还是其它什么???
      

  8.   

    推荐silverlight,这是微软的银光系统,和flash差不多,但是结合C#使用功能很强大,因为C#比flash的AS脚本强大很多,因此能做出强大的系统来建议:WPF做展示层,silverlight做3D环境(如果有能力用Directx做3D环境,这绝对不是silverlight能比的!!!),c#做应用层不是一句话能说清,工程太大,大家只能给你个路,你自己要多看这部分的资料(Directx让我好头疼,我也正在学Directx呢,不过学好后你可以藐视现在的这个3D旅游了呵呵)
      

  9.   


    [color=#FF0000]“WPF做展示层,silverlight做3D环境,c#做应用层”,好思路不过在下有点疑惑。WPF不是桌面应用程序吗,怎么和Silverlight结合起来了。这样做出来不就成为Web的吗?还有点疑问。
    为什么WPF做展示层?WPF在这方面有什么优势?
    silverlight做3D环境,silverlight在这方面有什么优势?
    c#做应用层?c#在这方面有什么优势?
      

  10.   

    回复楼上:WPF的优点:1.它是所有用户体验的类的集合。使用统一的XAML,标签语言进行编程。 以往的用户体验分别由以下不同部分组成。1.用户可视控件。2.图形。GDI+3.高级多媒体性能。DirectX以上三种编程模型各有区别。要掌握起来都不容易。比如DirectX或者自定义外观控件。WPF对以上部分设计的DLL再次封装。把表现层抽象出来成为一个整体概念。并且使用声明式语言XAML进行编程。(其实编译后还是变成面向对象的语言VB.NET,c#,或者直接IL语言)。它简化了UI的编程,对于开发人员来说,可以更加专注于程序的实现,而不需要为了界面而花费太多时间,因为那实在应该属于界面设计人员的工作。2.XAML标签语言自由组合,使得所有控件可以任意嵌套。这项特性对于写自定义外观的控件来说是一个效率的大飞跃。3.提供了专门的界面开发工具。是界面开发人员和程序开发人员分工更明确。4.整合了web开发和windows开发的模式。web的界面开发使用的是html和asp.net服务器组件的标签式语言,而XAML也是标签语言。
    这就是为什么要使用WPF做表现层
    siliverlight主要是微软竞争FLASH的东东,主要是web使用的,以下是百度百科的介绍:
    http://baike.baidu.com/view/942429.htm
    C#做应用层就不用说了吧,功能强大,对于大型的3D需要处理的(比如底层的数据库访问、地图控制等)各种方面flash的actionscript是不能对比的。
    综述:如果做基于web的展示,用wpf+silverlight+asp.net
    基于winform的,用wpf+directx+c#
    一定可以做出很NB的地图来,比如你可以加入多点触控等(现在我正在做我们公司的光纤分布和客户分布系统,供领导看的,可以多点触控)
      

  11.   

    wpf做出来的东东的效果你可以到腾讯下载一个概念版qq看看,很炫
    directx就不用说了,现在是个windows下的游戏都是基于directx的
      

  12.   


    可以多问一点吗?WPF可以把桌面应用程序做的很漂亮,但是它耗费系统资源吗?WPF用的是XAML标签语言,但是这样就可以在Web上展示了吗?还是XAML和HTML有什么关系,可以兼容使用?
      

  13.   


    越炫的东西肯定是对系统资源要求高一点,不过对于现在绝大多数配置来说这点资源算不上什么呵呵
    再次详细说明一下WPF和XAML对几乎所有的应用程序来说,用户界面都是重要的组成部分。现在,用户对这些界面的要求越来越高。当然,我们仍需要传统的菜单驱动式GUI。但是除此之外,许多应用程序还需要能够播放视频、运行动画、采用二维或三维图形,以及调用不同的文档。无论是通过安装的桌面客户端还是通过Web浏览器来访问应用程序,上述功能都必须可以正常使用。 
    一直以来,Windows上的这些用户界面功能都是以不同方式提供的。例如,开发人员可以使用.NET Framework中的Windows Forms来创建Windows GUI,使用HTML、Java小程序或JavaScript代码创建Web浏览器界面,或者使用 Windows Media Player、Adobe的Flash Player等软件播放视频,文档格式则以Microsoft Word、Adobe PDF或其他软件进行定义。很明显,开发人员面临着巨大的挑战:如何使用不同的技术,为不同的客户端创建一致的用户界面呢?这相当困难。 
    Windows Presentation Foundation(WPF),最初代号为“Avalon”,就是为解决这一难题而设计的。WPF为所有的这些用户界面提供一致的技术基础,从而大幅度简化了开发人员的工作。WPF采用更为现代的方法,支持视频、动画、二维或三维图形以及各种类型的文档,从而可以让用户以全新的方式处理信息。此外,WPF还为桌面客户端和浏览器客户端提供了通用基础,大大简化了二者的应用程序开发工作。 
    另一个长期困扰用户界面开发人员的问题是,如何创建高效界面需要的不同角色。软件开发人员需要编写相应的界面逻辑,但是,他们并不是定义界面感观的最佳人选。一般来说,人机交互领域的设计人员和专家更适合这一工作。但是在以前的技术(如Windows Forms)背景下,这些问题完全由开发人员决定。开发人员和设计人员之间没有实现真正有效的协作。WPF借助于可扩展应用程序标记语言(XAML)解决这一问题。XAML 是一种基于XML的语言,允许以声明方式指定用户界面,而非代码。这样,开发工具就能够根据设计人员创建的可视化显示,更加容易地生成和使用界面规范。Microsoft的一款新产品 Expression Blend就是为此而设计的。设计人员可以使用它创建界面外观,然后生成所创建界面的XAML定义。开发人员将这些定义导入Visual Studio之后,就可以着手构建界面所要求的逻辑了。这样就实现了界面与逻辑的分离。
    明白上面的意思后,你就可以在HTML中加载XAML了
    在运行时加载XAML文件非常的简单,下面的例子在运行时加载XAML,然后再给XAML对象添加事件处理程序。
    首先创建下面的XAML页并且把它复制到debug目录下:
    <Page 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Page1">
        <Grid>
            <Button Margin="0,0,9,38" Name="button1" Height="82" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="132">Button</Button>
        </Grid>
    </Page>下面是C#代码:
    public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
                LoadXAMLMethod(); 
            }        Button ButtoninXAML;
            public void LoadXAMLMethod()
            {
                try
                {
                    StreamReader mysr = new StreamReader("Page1.xaml");
                    DependencyObject rootObject = XamlReader.Load(mysr.BaseStream) as DependencyObject;
                    ButtoninXAML = LogicalTreeHelper.FindLogicalNode(rootObject, "button1") as Button ; 
                    ButtoninXAML.Click += new RoutedEventHandler(Button_Click); 
                    this.Content = rootObject;
                }
                catch (FileNotFoundException ex)
                {
                    MessageBox.Show(ex.Message.ToString());    
                }
            }
            public void Button_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("Hi WPF");  
            }
        }
    }最后不要忘了添加下面两个命名空间的引用:
    using System.IO;
    using System.Windows.Markup;
      

  14.   

    成功了一起玩!
    对我有用[0]丢个板砖[0]引用举报管理TOP
      

  15.   


    大侠,可以冒昧的多请教下吗?
    按您的指教,自己大概有了点思路了。是不是这样做:
    在WPF上做“建筑”,“风景”,“人物”等,并实现“动作”、“操作”等逻辑。
    然后用Sliverlight做环境支持,实现多媒体交互。
    再然后用asp.net做应用层,实现数据的交互和逻辑处理。同时将“XAML"加载入“HTML”。但是,还有点疑问?Sliverlight怎么和HTML连接上呢?
      

  16.   

    用blend做3D的场景对象,然后用silverlight来实现其它功能吧
      

  17.   

    这些事情和程序员关系不大了web3d是专业3d建模的人做的事情。工具非常非常多,自己google “web3d工具”可以找出一堆。ps:实际一些3d游戏引擎可以玩,像楼上给的Unity 实际就是一个基于mono的游戏引擎
      

  18.   

    你听他忽悠...Silverlight是WPF的子集,用WPF就用不着Silverlight了,用Silverlight又不能用WPF的全部功能...但是WPF必须安装客户端支持,Silverlight类似Flash,只需要一个小插件...WPF和Silverlight都是做UI的,只是根据部署环境要求二选一...不存在两者一起用...
      

  19.   


    说的有理。以前学习“silverlight”时,开始时学的就是WPF呢?
      

  20.   


    “用blend做3D的场景对象”,请问什么是“blend”?又怎样做3D场景对象?