日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Silverlight C# 游戏开发:L2 自定义模型导入

發布時間:2025/3/20 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Silverlight C# 游戏开发:L2 自定义模型导入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Balder的Geometries里提供了很多的已有的模型,比如立方體、圓柱等等,但是我們在開發游戲的時候大多情況下都是使用3D設計工具制作自定義的3D模型,而本篇則介紹的是如何導入顯示一個自定義的3D模型。

?

首先我們可以看看Geometries的自帶模型,你可以在對象瀏覽器或Geometries.來查看。

?

里面的Heightmap我們在后面會專門介紹,今次我們主要介紹Mesh(網格對象),使用它來完成自定義的模型導入。

然后,請準備好一個3D設計工具,3Dmax或者Maya再或者Lightwave再再或者……,好吧,我們簡單點,使用大眾化的3DMax,打開Max軟件,從Object中拉一個壺出來,選擇文件->導出,選擇ASE文件格式。

?

保存名字為teapot.ase的文件,將這個文件添加到我們的工程中,這個工程完全可以從L1中修改,請參看或下載《Silverlight C# 游戲開發:L1 3D世界的建造》

將文件的編譯方式修改成為Resource,即資源方式,建立Silverlight控件名字為Lesson02,然后添加如下代碼到構造函數中

  • //L1 ?
  • Game?game?=?new?Game()?{?Width?=?600,?Height?=?400?}; ?
  • game.Camera?=?new?Camera(); ?
  • game.Camera.Position?=?new?Coordinate(100,?150,?100); ?
  • game.Camera.Target?=?new?Coordinate(0,?0,?0); ?
  • game.Children.Add(new?OmniLight()?{?Position?=?new?Coordinate(0,?0,?0)?}); ?
  • ?
  • //L2 ?
  • //new一個網格對象Mesh ?
  • Mesh?Teapot?=?new?Mesh(); ?
  • //設置坐標 ?
  • Teapot.Position?=?new?Coordinate(0,?0,?0); ?
  • //開啟交互操作(可使用鼠標旋轉) ?
  • Teapot.InteractionEnabled?=?true; ?
  • //讀取文件的名字,當前支持ase的文件格式 ?
  • Teapot.AssetName?=?new?Uri("/Balder_Studio;component/Res/teapot.ase",?UriKind.Relative); ?
  • //將茶壺添加到Game當中 ?
  • game.Children.Add(Teapot); ?
  • ?
  • LayoutRoot.Children.Add(game); ?
  • ? ?
  • ?
  • 請注意,AssetName賦值的Uri的目錄和你添加到的位置需要一樣,這方面如果不是太明白,請參看后面附帶的工程,源代碼下載。

    這時你會發現可能會有一些錯誤,那是因為沒有添加命名控件引用,添加命名空間的Using到文件頭部:

  • using?Balder.Execution; ?
  • using?Balder.Lighting; ?
  • using?Balder.View; ?
  • using?Balder.Math; ?
  • using?Balder.Objects.Geometries; ?
  • 好了,不要忘記將MainPage中的控件添加改成Lesson02,運行起來看看效果吧。下面是Silverlight程序:

    ?

    如果你覺得太小,可以修改攝像機的坐標來調整觀測的范圍,關于攝像機和燈光,我們在下一個篇章中介紹。

    源代碼下載地址:點擊這里下載工程

    工程中如果缺少Balder.dll請在這里快速下載:SL4_Balder.rar



    本文轉自nowpaper 51CTO博客,原文鏈接:http://blog.51cto.com/nowpaper/712306

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的Silverlight C# 游戏开发:L2 自定义模型导入的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。