Stage3D Survival Guide:Руководство по выживанию: Choosing the fittest Flash 3D engine on earth for                 your AA...
About Me.Немного обо мне.
•    Ivanov Michael,31,Israel.•    Lead Programmer R&D,Neurotech Solutions LTD and Geek.•    The Author of ”Away3D 3.6 Coo...
About you.Немного о вас.
The problem.Суть проблемы.
Available Stage3D powered frameworks.Движки работающие на основе Stage3D.
3D Engines.ü    Alternativa3D-free,binary distribution.ü    Flare3D-commercial,binary distribution.ü    Away3D-free,open s...
2D Enginesü    ND2D-free,open source.ü    Starling Framework-free , open source.ü    M2D(Discontinued?)-free , open source.
Particle Enginesü     FLINT Particles-robust particle engine .Free, open source.ü     ND2D –basic particles system.Free,op...
3D Engines: Which is the best?Какой движок самый лучший?
None!Не один из них!
Each one wins or looses in one or more of           these categories:Каждый из них проигрывает в одной или более          ...
Performance.Производительность.
Away3D             Alternativa3D                     Flare3DPerformance demo
907200 TrianglesSkin performance demo
Features.Функциональность.
Basic system modules in a typical 3D engine:ü     External assets handling.ü     Lightning system.ü     Rendering system.ü...
External assets handling          Away3D                  Alternativa3D   Flare3D                          Geometry Format...
Lightning system              Away3D        Alternativa3D   Flare3DDirectional   Yes           Yes             YesPoint(Om...
Material Library                 Away3D           Alternativa3D   Flare3DWireframe        Yes              Yes            ...
Geometry types                  Away3D       Alternativa3D        Flare3DCube              Yes          Yes               ...
Physics,AI,Particles            Away3D                       Alternativa3D        Flare3DBuilt-in    Away Bullet (alchemy)...
Learning Curve.Сложность изучения.
Mastering a Flash 3D engine.              Осваиваем 3D движок.ü    The APIs follow the same basic 3D engine paradigm.ü    ...
Productiveness.Продуктивность.
Flare3D.ü    “Flare3D Studio” (World editor IDE).ü    FLSL –GLSL like shader coding,AGAL free.ü    “For Dummies” like API.
Flare3D Studio IDE           Character model by courtesy of Roman Zinchenko                      http://www.wix.com/zinche...
Flare3D Shading Languageü    FLSL =AGAL Abstraction.ü    GLSL/CG look.
OpenGL 3.3 GLSL                                                             Flare3D V2 FLSL  #version 330  layout(location...
Code Modularity.                                    Компактный код .        Alternativa3D vs Flare3D Skin Animation set up...
Away3D.ü    Compact API ,but not like Flare3D.ü    Prefab3D- Visual IDE V2 .still under development.ü    Away3D 3x users b...
Customization.Специальные настройки.
ü       Open Source is the winner!   ü       Flare3D loans engine’s source code for payment.   ü       Alternativa3D -?Kin...
Away3D core adjustments example                                            Vector3D to screen fix:Adding code to lens:publ...
Technical Support.Техническая поддержка.
ü    Away3D has much larger community and learning    materials like books and tutorials , than others.ü    Four books ded...
Costs.Затраты.
Some “out-of-the-Flash” thoughts.Размышление о других направлениях.
Conclusion.Подведем итоги.
Away3D = Features .(Функциональность)Alternativa3D = Industrial Quality.(Высокое качество)Flare3D = Ease of Use.( Удобство...
But what really matters …Но самое главное - это...
Determination to make a great game!  Желание создать лучшую игру!
Thank you!Спасибо большое!
Neurotech Solutions Ltd: Рекомендации по Stage3D: выбор наиболее подходящего Flash 3D движка для Вашей {первой} AAA игры
Neurotech Solutions Ltd: Рекомендации по Stage3D: выбор наиболее подходящего Flash 3D движка для Вашей {первой} AAA игры
Upcoming SlideShare
Loading in …5
×

Neurotech Solutions Ltd: Рекомендации по Stage3D: выбор наиболее подходящего Flash 3D движка для Вашей {первой} AAA игры

1,160 views

Published on

Вам заказали разработку инновационной 3d game на Flash? Требования более, чем высокие, а сроки поджимают? Нет времени отладить собственный 3D движок, и встала проблема выбора наиболее подходящего из уже существующих, предлагающим самый широкий инструментарий? Как узнать, какой из стандартных 3D движков лучше всего подходит для данного проекта?
В своем докладе Михаил даст ответ на эти и многие другие вопросы. Он остановится на движках Away3D и Flare3D с Alternaiva3D в качестве почетного гостя конкурса. Будут рассмотрены важнейшие достоинства и недостатки обсуждаемых движков, чтобы сориентировать разработчиков в выборе подходящих инструментов и обеспечить успех выпускаемым 3D продуктам.

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,160
On SlideShare
0
From Embeds
0
Number of Embeds
534
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Neurotech Solutions Ltd: Рекомендации по Stage3D: выбор наиболее подходящего Flash 3D движка для Вашей {первой} AAA игры

  1. 1. Stage3D Survival Guide:Руководство по выживанию: Choosing the fittest Flash 3D engine on earth for your AAA game. By Michael Ivanov.
  2. 2. About Me.Немного обо мне.
  3. 3. • Ivanov Michael,31,Israel.• Lead Programmer R&D,Neurotech Solutions LTD and Geek.• The Author of ”Away3D 3.6 Cookbook” by Packt Publishing.• Spare Time:Stage3D,Unity,UnrealEngine,OpenGL.• Visit my tech blog:http://blog.alladvanced.net
  4. 4. About you.Немного о вас.
  5. 5. The problem.Суть проблемы.
  6. 6. Available Stage3D powered frameworks.Движки работающие на основе Stage3D.
  7. 7. 3D Engines.ü Alternativa3D-free,binary distribution.ü Flare3D-commercial,binary distribution.ü Away3D-free,open source.ü Yogurt3D-free,open source.ü Noob3D-commercial,binary distribution.ü Proscenium-free,open source by Adobe.ü Minko-free,open source.ü ND3D-free,open source.ü And some more…
  8. 8. 2D Enginesü ND2D-free,open source.ü Starling Framework-free , open source.ü M2D(Discontinued?)-free , open source.
  9. 9. Particle Enginesü FLINT Particles-robust particle engine .Free, open source.ü ND2D –basic particles system.Free,open source.ü Starling-basic particles system.Free,open source. Flint demo
  10. 10. 3D Engines: Which is the best?Какой движок самый лучший?
  11. 11. None!Не один из них!
  12. 12. Each one wins or looses in one or more of these categories:Каждый из них проигрывает в одной или более следующих категориях:ü Performance.(Производительность.)ü Features. (Функциональность)ü Learning Curve.(Сложность изучения)ü Productiveness.(Продуктивность)ü Customization.(Специальные настройки)ü Support. (Техническая поддержка)ü Costs.(Затраты)
  13. 13. Performance.Производительность.
  14. 14. Away3D Alternativa3D Flare3DPerformance demo
  15. 15. 907200 TrianglesSkin performance demo
  16. 16. Features.Функциональность.
  17. 17. Basic system modules in a typical 3D engine:ü External assets handling.ü Lightning system.ü Rendering system.ü Materials library & composing tools.ü Primitives library.ü Physics, AI, Particle engines.ü Network.ü GUI
  18. 18. External assets handling Away3D Alternativa3D Flare3D Geometry Formats3DS Yes Yes NoNative AWD1,AWD2 A3D F3DCollada No Yes YesBones MD5.MD2 Collada F3D,ColladaNative Maya ,Blender 3Ds Max only 3Ds Max onlyplugin
  19. 19. Lightning system Away3D Alternativa3D Flare3DDirectional Yes Yes YesPoint(Omni) Yes Yes YesSpot No Yes NoAmbient No Yes Yes
  20. 20. Material Library Away3D Alternativa3D Flare3DWireframe Yes Yes NoColor Yes Yes YesBitmap Yes Yes YesEnvironment Yes ? YesVideo Yes Yes YesAnimated Yes Yes YesMulti-material ? Yes YessurfacesCustom Shaders AGAL AGAL FLSL Filters
  21. 21. Geometry types Away3D Alternativa3D Flare3DCube Yes Yes YesSphere Yes Yes YesPlane Yes Yes YesCone Yes No YesCylinder Yes No YesCapsule Yes No NoLine Segments Yes Yes(via WireFrame) Yes (via Lines3D)Sprite Yes Yes NoAnimated Sprite Yes Yes No(via filter only)
  22. 22. Physics,AI,Particles Away3D Alternativa3D Flare3DBuilt-in Away Bullet (alchemy) Under dev Under dev3td party JigLib JigLib JigLibAI AwaySteer(OpenSteer) under No No devParticles Native,FLINT FLINT,Native(under Native,FLINT dev?)
  23. 23. Learning Curve.Сложность изучения.
  24. 24. Mastering a Flash 3D engine. Осваиваем 3D движок.ü The APIs follow the same basic 3D engine paradigm.ü Experience with the previous versions helps a lot.ü Previous game development and Math experience contribute to the learning process.
  25. 25. Productiveness.Продуктивность.
  26. 26. Flare3D.ü “Flare3D Studio” (World editor IDE).ü FLSL –GLSL like shader coding,AGAL free.ü “For Dummies” like API.
  27. 27. Flare3D Studio IDE Character model by courtesy of Roman Zinchenko http://www.wix.com/zinche/zraFlare Studio demo
  28. 28. Flare3D Shading Languageü FLSL =AGAL Abstraction.ü GLSL/CG look.
  29. 29. OpenGL 3.3 GLSL Flare3D V2 FLSL #version 330 layout(location = 0) in vec4 position; layout(location = 1) in vec4 color; < namespace:"flare", name:"TextureFilter" > smooth out vec4 theColor; uniform vec3 offset; public texture "texture"; uniform mat4 perspectiveMatrix; public float1 alpha = 1; input UV0 uv0; void main() interpolated float4 iUV; { vec4 cameraPos = position + vec4(offset.x, offset.y, offset.z, 0.0); private void vertex0() gl_Position = perspectiveMatrix * cameraPos; { theColor = color; iUV = uv0; } } private float4 fragmentTexture0() { return sample( "texture", iUV.xy, "2d,repeat,linear,miplinear" ) * alpha; } #version 330 smooth in vec4 theColor; technique “main" { out vec4 outputColor; vertex vertex0(); fragment fragmentTexture0(); void main() } { outputColor = theColor; }FLSL Demos
  30. 30. Code Modularity. Компактный код . Alternativa3D vs Flare3D Skin Animation set up code samplesprivate function loadModel():void{ private function loadModel():void{ var loaderCollada:URLLoader = new URLLoader(); model = loaderCollada.dataFormat = scene.addChildFromFile( "assets/spyAnim.f3d“,scene);URLLoaderDataFormat.TEXT; scene.addEventListener( Scene3D.COMPLETE_EVENT, loaderCollada.load(new completeEvent );URLRequest("assets/SpyAnimCollada.DAE")); } loaderCollada.addEventListener(Event.COMPLETE, private function completeEvent(e:Event):voidonColladaLoad); {} scene.resume(); model.play();private function onColladaLoad(e:Event):void { } var parser:ParserCollada = new ParserCollada(); parser.parse(XML((e.target as URLLoader).data),"assets/"); var mesh:Skin = parser.getObjectByName("spy") asSkin; mesh.y =0; container.addChild(mesh); var animSwtich:AnimationSwitcher=newAnimationSwitcher(); var animClip:AnimationClip=parser.animations[0]; var animAll:AnimationClip=animClip.slice(0,870/30); animContr=new AnimationController(); animContr.root=animSwtich; for each (var resource:Resource inscene.getResources(true)) { resource.upload(stage3D.context3D); }}
  31. 31. Away3D.ü Compact API ,but not like Flare3D.ü Prefab3D- Visual IDE V2 .still under development.ü Away3D 3x users benefit from smooth portability.
  32. 32. Customization.Специальные настройки.
  33. 33. ü Open Source is the winner! ü Flare3D loans engine’s source code for payment. ü Alternativa3D -?Kinect demo
  34. 34. Away3D core adjustments example Vector3D to screen fix:Adding code to lens:public function projectToScreenSpace(point3d:Vector3D,screenW:Number,screenH:Number):Point{ var p:Point=new Point(); var v:Vector3D=matrix.transformVector(point3d); p.x=((v.x*screenW)/(2*v.w))+screenW*0.5; p.y=(-(v.y*screenH)/(2*v.w))+screenH*0.5; return p;} Adding code to Camera3D:public function projectToScreen(point3d : Vector3D,screenW:Number,screenH:Number) : Point{return lens.projectToScreenSpace(inverseSceneTransform.transformVector(point3d),screenW,screenH);}Using:var screenPoint:Point=_view.camera.projectToScreen(sp.position,_view.width,_view.height);
  35. 35. Technical Support.Техническая поддержка.
  36. 36. ü Away3D has much larger community and learning materials like books and tutorials , than others.ü Four books dedicated to Away3D development.ü Away3D and Flare3D-both supply professional support for payment.
  37. 37. Costs.Затраты.
  38. 38. Some “out-of-the-Flash” thoughts.Размышление о других направлениях.
  39. 39. Conclusion.Подведем итоги.
  40. 40. Away3D = Features .(Функциональность)Alternativa3D = Industrial Quality.(Высокое качество)Flare3D = Ease of Use.( Удобство эксплуатации)
  41. 41. But what really matters …Но самое главное - это...
  42. 42. Determination to make a great game! Желание создать лучшую игру!
  43. 43. Thank you!Спасибо большое!

×