场景编辑器竣工!
今天接著做XML解析,對那個遍歷的結構作了些修改,插入了幾個函數。
終于,新的場景編輯器竣工了!
?
一個比較復雜的場景了,用3dsMax制作材質,安排物件位置和所用材質
導出到DirectX中,效果感覺比Max中好啊~
得益于我的后期和ShadowMap啊!
3dsMax中編輯場景
應用了自寫shader和scene effect
再來個局部效果
?
效果相當不錯了,并且和上學期制作的場景編輯器不同,這次是自動解析使用的x文件,使用的材質文件,自動的解析每個物體使用哪一個材質。完全自動,開放性的設計為以后想要加入新的模型,為模型使用不同的材質做了充分準備。場景編輯器的代碼基本上就固定下來了,不用再作變動。
不過在保存材質和模型時,還是存在一些不方便。需要在x文件導出插件中作不同的設置,不過目前的時間已經不夠再讓我做一個類似pander的簡化導出插件了,只好寫一個使用文檔湊活用了~
下面配上這個場景所使用的test.xml,希望對大家有所啟發。具體的解析實現礙于篇幅就不在這里寫了。
代碼 1. <?xml version="1.0" encoding="utf-8" ?>2.
3. <IGame xmlns="urn:maxxml" Version="2.0" Date="Tue May 25 15:19:46 2010">
4.
5. <SceneInfo FileName="levelDesignBeta.max" StartFrame="0" EndFrame="100" FrameRate="30" TicksPerFrame="160" CoordinateSystem="directx" RotationFormat="Quaternion" ObjectSpace="false"></SceneInfo>
6.
7. <MaterialList Count="9">
8.
9. <Material Index="0" Name="ksMat_ToonBag" Class="DirectX Shader"></Material>
10.
11. <Material Index="1" Name="ksMat_ToonBookOpen" Class="DirectX Shader"></Material>
12.
13. <Material Index="2" Name="ksMat_ToonFlower" Class="DirectX Shader"></Material>
14.
15. <Material Index="3" Name="ksMat_ToonPBoxA" Class="DirectX Shader"></Material>
16.
17. <Material Index="4" Name="ksMat_ToonTerrian" Class="DirectX Shader"></Material>
18.
19. <Material Index="5" Name="ksMat_ToonRed" Class="DirectX Shader"></Material>
20.
21. <Material Index="6" Name="ksMat_ToonBlue" Class="DirectX Shader"></Material>
22.
23. <Material Index="7" Name="ksMat_ToonGreen" Class="DirectX Shader"></Material>
24.
25. <Material Index="8" Name="ksMat_ToonTank" Class="DirectX Shader"></Material>
26.
27. </MaterialList>
28.
29. <Object Name="bagA.x 01" NodeID="638" MaterialIndex="0">
30.
31. <Translation>
32.
33. 50.900787 21.874781 28.437721
34.
35. </Translation>
36.
37. <Rotation>
38.
39. 0.000000 0.781607 0.000000 0.623771
40.
41. </Rotation>
42.
43. <Scale>
44.
45. 1.000000 1.000000 1.000000 -0.000000 -0.000000 -0.000000 1.000000
46.
47. </Scale>
48.
49. </Object>
50.
51. <Object Name="Bookclose.x 01" NodeID="639" MaterialIndex="1">
52.
53. <Translation>
54.
55. -28.488480 1.558182 -58.162262
56.
57. </Translation>
58.
59. <Rotation>
60.
61. -0.000000 0.352962 -0.000000 0.935638
62.
63. </Rotation>
64.
65. <Scale>
66.
67. 1.000000 1.000000 1.000000 -0.000000 -0.000000 -0.000000 1.000000
68.
69. </Scale>
70.
71. </Object>
72.
73. ...
74. ...
75. ...
76.
77. </IGame>
?
轉載于:https://www.cnblogs.com/gameknife/archive/2010/05/25/1832161.html
總結
- 上一篇: 2020年研究生数学建模竞赛总结复盘
- 下一篇: c++编写植物大战僵尸