рдЧреЗрдордкреНрд▓реЗ 3 рдбреА рдлреНрд░реЗрдорд╡рд░реНрдХ - 3 рдбреА рдЧреЗрдо рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рд╢реБрд░реБрдЖрдд

рдЕрдЪреНрдЫрд╛ рд╕рдордп, рдкреНрд░рд┐рдп harazhiteli!

рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЛрд░реНрд╕ рд╕реБрдирдиреЗ рдФрд░ рдУрдкрдирдЬреАрдПрд▓ рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЦреЗрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЦреЗрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдФрд░ рдЦреБрдж рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рд╕рдордп рдерд╛ред рд╕рдЪ рдХрд╣реВрдВ, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдирд╛ рдЗрдВрдЬрди рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдпрд╣ рджреЗрдЦрдирд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд╛рда рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╢рд╛рдпрдж рдЪрдпрдирд┐рдд рдЗрдВрдЬрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдмрдирд╛рдПрдВред рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЦреБрд▓реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рддрдВрдЧ рд╣реИред рдПрдХ рдХреЗ рдкрд╛рд╕ рд▓рд┐рдирдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдУрдПрд╕ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рддреАрд╕рд░рд╛ рд▓рдЧрднрдЧ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрдХрд░реНрд╖рдХ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓рд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЧреЗрдордкреНрд▓реЗ

рдЗрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдирд╛рдо рдЧреЗрдордкреНрд▓реЗ 3 рдбреА рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд╣рдо рд░рдиреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ C ++ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЧреЗрдореНрд╕ рдХреЗ рд▓рд┐рдП C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ, рдЬреЛ рдЗрд╕рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХ рдЗрд╕реЗ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрдкрдХрд░рдг, 3 рдбреА рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░рд╣ рдХреЗ рдХреЛрдХреЛрд╕ 2 рдбреА рдПрдирд╛рд▓реЙрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред GamePlay 3D рдкрд░ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ OpenGL, GLSL рдпрд╛ 3D рдЧрдгрд┐рдд рдХрд╛ рдЧрд╣рд░рд╛ рдЬреНрдЮрд╛рди рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рд╕рднреА рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд┐рд╡рд░рдг рдФрд░ рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдгред

рдореИрдВ рд╢реБрд░реВ рдХрд░реВрдБрдЧрд╛, рд╢рд╛рдпрдж, рдЗрдВрдЬрди рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде:

* рдЕрдЪреНрдЫрд╛, рд▓рдЧрднрдЧ рдПрдХ ...

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдЗрдЯ рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА
  • рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓реЗ OpenGL 3.2+ (рдбреЗрд╕реНрдХрдЯреЙрдк) рдФрд░ OpenGL ES 2.0 (рдореЛрдмрд╛рдЗрд▓) рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░рдгрд╛рд▓реА
  • рдирд┐рд░реНрдорд┐рдд рдЖрдо рд╢реИрдбрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рд╢реЗрдбрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдгрд╛рд▓реА
  • рд░реЛрд╢рдиреА, рдХреИрдорд░рд╛, рдореЙрдбрд▓, рдХрдг рдЙрддреНрд╕рд░реНрдЬрдХ рдФрд░ рднреМрддрд┐рдХреА рдЯрдХрд░рд╛рд╡ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдиреЛрдб-рдЖрдзрд╛рд░рд┐рдд рджреГрд╢реНрдп рдЧреНрд░рд╛рдл рдкреНрд░рдгрд╛рд▓реА
  • рдХрдИ рд╕рддрд╣ рдкрд░рддреЛрдВ рдФрд░ LOD рдХреЗ рд╕рд╛рде рдКрдБрдЪрд╛рдИ рдЖрдзрд╛рд░рд┐рдд рднреВрднрд╛рдЧ
  • рдШреЛрд╖рдгрд╛рддреНрдордХ рджреГрд╢реНрдп рдмрд╛рдЗрдВрдбрд┐рдВрдЧ (рд╕рд╛рдордЧреНрд░реА) рдФрд░ рдиреЛрдб рд╕рдВрд▓рдЧреНрдирдХ (рдХрдг рдЙрддреНрд╕рд░реНрдЬрдХ, рднреМрддрд┐рдХреА рдЯрдХрд░рд╛рд╡ рдХреА рд╡рд╕реНрддреБрдПрдВ, 3 рдбреА рдСрдбрд┐рдпреЛ рд╕реНрд░реЛрдд)
  • рдШреЛрд╖рдгрд╛рддреНрдордХ рдХрдг рдкреНрд░рдгрд╛рд▓реА
  • рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдкрд╛рда рдФрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдкреНрд░рддрд┐рдкрд╛рджрди
  • рднреМрддрд┐рдХреА рдкреНрд░рдгрд╛рд▓реА (рдмреБрд▓реЗрдЯ рднреМрддрд┐рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ)
    • рд╡рд╛рд╣рди рднреМрддрд┐рдХреА
    • рдЪрд░рд┐рддреНрд░ рднреМрддрд┐рдХреА
    • рдХрдареЛрд░ рд╢рд░реАрд░ рдХреА рдЧрддрд┐рд╢реАрд▓рддрд╛
    • рдХреА рдХрдореА
    • рднреВрдд рдХреА рд╡рд╕реНрддреБ
  • рд╕реБрдпреЛрдЧреНрдп рдпреВрдЖрдИ рдФрд░ 3 рдбреА рд░реВрдкреЛрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдШреЛрд╖рдгрд╛рддреНрдордХ рдпреВрдЖрдИ рдкреНрд░рдгрд╛рд▓реАред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЛрд░ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рд▓реЗрдЖрдЙрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
    • рдмрдЯрди
    • рд▓реЗрдмрд▓
    • рдкрд╛рда рдмреЙрдХреНрд╕
    • рд╕реНрд▓рд╛рдЗрдбрд░
    • рдЪреЗрдХ рдмреЙрдХреНрд╕
    • рд░реЗрдбрд┐рдпреЛ рдмрдЯрди
    • рдкреВрд░реНрдг рд▓реЗрдЖрдЙрдЯ
    • рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд▓реЗрдЖрдЙрдЯ
    • рдкреНрд░рд╡рд╛рд╣ рд▓реЗрдЖрдЙрдЯ
  • рдХрдВрдХрд╛рд▓ рдЪрд░рд┐рддреНрд░ рдПрдиреАрдореЗрд╢рди рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдПрдиреАрдореЗрд╢рди рд╕рд┐рд╕реНрдЯрдо
  • WAV рдФрд░ OGG рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде 3D рдСрдбрд┐рдпреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ
  • 2 рдбреА / 3 рдбреА рдЧрдгрд┐рдд рдФрд░ 3 рдбреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреБрд▓рд┐рдВрдЧ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╡реЗрдХреНрдЯрд░ рдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп
  • рдорд╛рдЙрд╕, рдХреАрдмреЛрд░реНрдб, рдЯрдЪ, рдЬреЗрд╕реНрдЪрд░ рдФрд░ рдЧреЗрдордкреИрдб рд╕рдкреЛрд░реНрдЯ
  • рд▓реБрдЖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬрдирд░реЗрдЯрд░ рдЯреВрд▓
  • рдР рд░рд╛рдЬреНрдп рдорд╢реАрди

рдЕрдм рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рджреГрд╢реНрдп, рдХрдИ рд╡рд╕реНрддреБрдУрдВ, рднреМрддрд┐рдХреА рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦреБрд▓реЗ рдЙрдкрдХрд░рдг рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдЫреЛрдЯрд╛ рдбреЗрдореЛ рдмрдирд╛рдПрдВред рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдФрд░ рддреИрдпрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдкреВрд░реЗ рдкрд╛рда рдореЗрдВ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВ рдФрд░ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рд╕рд╛рде рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред

рд╣рдо рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдбреЗрдореЛ рдмрдирд╛ рд░рд╣реЗ рд╣реЛрдВрдЧреЗред рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

рдЗрдВрдЬрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЬреАрдердм рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛, рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕реАрдореЗрдХ рдЪрд▓рд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ ... && рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ (Windows рдФрд░ Mac OS X рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рдорд╢рдГ рдПрдХ рдореМрдЬреВрджрд╛ Visual Studio рдпрд╛ Xcode рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ)ред рд╕рдВрдХрд▓рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЧреЗрдордкреНрд▓реЗ-рдиреНрдпреВрдкреНрд░реЛрдЬреЗрдХреНрдЯ (Sh | bat) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдИ рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдЧрд╛, рдЬрд┐рдирдХреЗ рдЙрддреНрддрд░ рдореЗрдВ рд╣рдо рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддреИрдпрд╛рд░ рдордЫрд▓реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИред рдЪрд▓реЛ рдбреЗрдореЛ рдкреНрд░реЗрдХреИрдЯ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЗрдВрдЬрди рдХреА рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА) рдХреЛ рдкрде рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред

рдкрд░рд┐рдпреЛрдЬрдирд╛


рдмрдирд╛рдИ рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреЗрдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рдПрдХреНрд╕рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╛рдЗрд▓реЗрдВ рднреА рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдкреВрд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЧреЗрдо рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрдВрдЬрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЬреЛрдбрд╝рдирд╛, рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЕрдм рд╣рдо рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдмрд╕ рд╕рд╛рдорд╛рдиреНрдп vim, cmake рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВред рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдереЛрдбрд╝рд╛ рдирд╛рдЯрдХ рдЬреЛрдбрд╝реЗрдВред
cd Demo/build cmake .. make 

рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдЗрдирд░реА рдЪрд▓рд╛рдПрдБ:
 cd ../bin/linux ./Demo 

рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдЫрд╡рд┐

рддреЛ, рд╡реАрдПрд╕, Xcode рдФрд░ cmake рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╣рдо рдЧреЗрдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ?
game.config - рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреИрд╕реЗ рдХрд┐ рдЕрдиреБрдорддрд┐, рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рдпрд╛ рд╡рд┐рдВрдбреЛ, рдЖрджрд┐ред
рд░реЗрд╕ / - рдЦреЗрд▓ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
Res / box.gpb - рдЦреЗрд▓ рджреГрд╢реНрдп (рд╕рд┐рд░реНрдл рдПрдХ рдХреИрдорд░рд╛ рдФрд░ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рдПрдХ рдШрди), рджреЗрд╢реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб
box.dae - рдЕрдкрдиреЗ рдХрдЪреНрдЪреЗ рд░реВрдк рдореЗрдВ рдЦреЗрд▓ рдХрд╛ рджреГрд╢реНрдп, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрд▓рд╛рдбрд╛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ
рд░рдВрдЧреАрди (рдирд╛рдЬреБрдХ | рд▓рдВрдмрд╡рдд) - рдХреНрдпреВрдм рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╢реЗрдбреНрд╕
Res / box.material - рдШрди рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд┐рд╡рд░рдг
src / - рд╕реНрд░реЛрдд
src / Demoред (cpp | h) - рдмреЗрд╕ рдХреНрд▓рд╛рд╕
Android / - Android рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЗрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛
рдмрд┐рди / - рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝

рд▓реЗрдХрд┐рди рдПрдХ рдШреВрд░реНрдгрди рдХреНрдпреВрдм рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдкреНрдд рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рдЙрдмрд╛рдК рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо рдЗрдВрдЬрди рдореЗрдВ рдереЛрдбрд╝реА рдЧрд╣рд░рд╛рдИ рдЦреЛрджрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдЕрдзрд┐рдХ рдХреНрдпреВрдмреНрд╕ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЧреЗрдВрджреЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдЙрдирдХреЗ рднреМрддрд┐рдХ рдЧреБрдгреЛрдВ рдФрд░ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред

рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдореЗрдВ рдпрд╣рд╛рдБ рдорд┐рд▓рддрд╛ рд╣реИ:


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмреНрд▓реЗрдВрдбрд░ рдореЗрдВ рдПрдХ рджреГрд╢реНрдп рдмрдирд╛рдПрдВ: рдХреНрдпреВрдмреНрд╕ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рддрд╣ рдкрд░ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ, рдкреВрд░реА рдЦреБрд╢реА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧреЗрдВрджреЛрдВ рдХреЗ рдКрдкрд░ред рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЧреЗрдо рдореЗрдВ рдКрдВрдЪрд╛рдИ y рдЕрдХреНрд╖ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рди рдХрд┐ z , рдмреНрд▓реЗрдВрдбрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреЗрдордкреНрд▓реЗ 3 рдбреА рдореЗрдВ y рдЕрдХреНрд╖ рдкрд░ рдКрдВрдЪрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП) рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рд╣рдо y рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ)ред рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд╛рдо рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЧреЗрдо рдХреЛрдб рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХреЗрдВред рд╣рдо рд╕рд░рд▓ рдХрд░реЗрдВрдЧреЗ - рд╕рднреА рдХреНрдпреВрдмреНрд╕ рдХреЛ рдмреЙрдХреНрд╕рдПрдХреНрд╕ , рдмреЙрд▓реНрд╕ рдмреЙрд▓рдПрдХреНрд╕ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд╣рд╛рдВ рдПрдХреНрд╕ рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдЬрд┐рд╕ рд╕рддрд╣ рдкрд░ рд╡реЗ рдЪрдврд╝рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдлрд░реНрд╢ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдХреИрдорд░реЗ рдХреЗ рдХреИрдорд░реЗ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдШреБрдорд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдореЗрдВ рдЬреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд▓реЗрдВрд╕ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рдПред рджреГрд╢реНрдп рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЧреЗрдордкреНрд▓реЗ-рдПрдирдХреЛрдбрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭреЗ рдЧрдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: FBX рдФрд░ COLLADAред рд╣рдо COLLADA рдЪреБрдирддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдпрд╣ рдЖрд╕рд╛рди рд╣реИ (рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╡рд┐рд╡рд░рдг)ред

рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдмреНрд▓реЗрдВрдбрд░

рдЖрд▓рд╕реА рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬрд┐рдирдХреЗ рд╣рд╛рде рдореЗрдВ рдмреНрд▓реЗрдВрдбрд░ рдирд╣реАрдВ рд╣реИ
рдмреНрд▓реЗрдВрдбрд░ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп: dl.dropbox.com/u/64710641/boxes.blend
COLLADA рдореЗрдВ рджреГрд╢реНрдп: dl.dropbox.com/u/64710641/boxes.dae
GamePlayBundle рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рджреГрд╢реНрдп: dl.dropbox.com/u/64710641/boxes.gpb


рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЧреЗрдордкреНрд▓реЗ-рдПрдирдХреЛрдбрд░ рдЖрддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рднрд┐рдиреНрди рдЕрдкрдЪрдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдореВрд▓ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИред рд╣рдо XML рд╕реЗ рдХрд┐рд╕реА рджреГрд╢реНрдп рдХреЗ рдкрд╛рд░реНрд╕рд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рдФрд░ рд╕реНрдореГрддрд┐ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ 3 рдбреА рдореЗрдВ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдлрд╝реЙрдиреНрдЯ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдмрд╛рдЗрдирд░реА рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рд╡реЗ рдмрд╕ рд╕реНрдореГрддрд┐ рдореЗрдВ рд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдВред рдЗрд╕рд▓рд┐рдП, рдХрд▓рд╛рдИ рдХреА рдПрдХ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдХреЗ рд╕рд╛рде, рд╣рдо рджреГрд╢реНрдп .dae рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмреНрд▓реЗрдВрдбрд░ рд╕реЗ рджреГрд╢реНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВред pgb рдФрд░ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ Res / subdirectory рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ:
 path/to/GamePlay/bin/linux/gameplay-encoder scene.dae 

рдШреВрд░реНрдгрди рдХреНрдпреВрдм рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрддреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдо рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рджреГрд╢реНрдп рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░реЗрдВрдЧреЗред рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рджреГрд╢реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рдЖрдк рдХрд░реЗрдЧрд╛ред рддреЛ game.scene рджреГрд╢реНрдп рд╡рд┐рд╡рд░рдг рдлрд╝рд╛рдЗрд▓:
 scene boxes { //     path = res/boxes.gpb //    activeCamera = camera //     floor node floor { //  ,     material = res/game.material#floor //   ,   collisionObject res/game.physics#floor } //   node boxes { //  url,          boxX url = box* //  material = res/game.material#box //  collisionObject = res/game.physics#box } //    node ball { url = ball* material = res/game.material#ball collisionObject = res/game.physics#ball } //      physics { //     y gravity = 0.0, -9.8, 0.0 } } 

рд╕рдВрдХреЗрддрд┐рдд рд╕рд╛рдордЧреНрд░реА рдФрд░ рднреМрддрд┐рдХ рдЧреБрдгреЛрдВ рдХреЛ рдЫрдд рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕реА рдЧреЗрдордореИрдЯреНрд░реА рдФрд░ game.physics рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

game.material:
 //       material colored { technique { //      pass 0 { //     ,  //      u_worldViewProjectionMatrix = WORLD_VIEW_PROJECTION_MATRIX u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX //         ... //      renderState { cullFace = true depthTest = true } //        vertexShader = res/shaders/colored.vert fragmentShader = res/shaders/colored.frag } } } //   .     colored material box : colored { //       u_diffuseColor = 0.8, 0.2, 0.2, 1.0 } //    material ball : colored { u_diffuseColor = 0.2, 0.2, 0.8, 1.0 } //   material floor : colored { u_diffuseColor = 0.2, 0.8, 0.2, 1.0 } 

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд░рдВрдЧреЛрдВ рдореЗрдВ рдЪрд░ рд╕реНрд╡рдпрдВ рд╕реЗ рдХрд╣реАрдВ рднреА рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ shader рдХреЛрдб рдореЗрдВ рдЬреЛ рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред рдлреНрд░реЗрдорд╡рд░реНрдХ рддреИрдпрд╛рд░ рд░реЗрдбрд┐рдпреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ, рдЯреЗрдХреНрд╕рдЪрд░рд┐рдВрдЧ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХреЗ рдкреНрд░рдХрд╛рд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдПрдХ рд░рдВрдЧ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд░рдВрдЧрдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдЗрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрде / рд╕реЗ / GamePlay / рдЧреЗрдордкреНрд▓реЗ / рд░реЗрд╕ / рд╢реЗрдб рд╕реЗ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ shader рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред

game.physics:
 //     collisionObject box { //   -   type = RIGID_BODY //  bounding box -  shape = BOX //   mass = 2.0 } //     collisionObject ball { type = RIGID_BODY //  bounding box -  shape = SPHERE mass = 1.0 } //    ,     collisionObject floor { type = RIGID_BODY shape = BOX mass = 0 } 

рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рднреМрддрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рд╛рдмреБрди рдЖрдкрдХреЛ рдЧреЗрдо рдХреЛрдб рдореЗрдВ рджреГрд╢реНрдп.рдЬреАрдкреАрдмреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдбреЗрдореЛ, рдЗрдирд╣реЗрд░рд┐рдЯрд┐рдВрдЧ рдХреНрд▓рд╛рд╕ рдЧреЗрдо рд╣реИред рдЦреЗрд▓ рдХрд╛ рдЬреАрд╡рди рдЪрдХреНрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
  1. рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди () рд╡рд┐рдзрд┐ рдореЗрдВ рдЧреЗрдо рдЖрд░рдВрднреАрдХрд░рдг ;
  2. рдЕрджреНрдпрддрди рдкрджреНрдзрддрд┐ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рд╕реЗ рдкрд╣рд▓реЗ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ (рдлрд╝реНрд▓реИрдЯ рдПрд▓реНрдкреНрд╕рдбрд╛рдЗрдо);
  3. рд░реЗрдВрдбрд░ рд╡рд┐рдзрд┐ рдореЗрдВ рджреГрд╢реНрдп рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ (рдмреАрддрд╛ рд╣реБрдЖ рд╕рдордп рдмреАрддрд╛);
  4. рдЕрдВрддрд┐рдо рд░реВрдк рдореЗрдВ рдЖрд╡реЗрджрди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ () рд╡рд┐рдзрд┐ ;

рд╣рдо рд╕рд┐рд░реНрдл рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ () рдореЗрдердб рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдбреЗрдЯ (рдлреНрд▓реЛрдЯ рдПрд▓рд╛рдкреНрд╕рд┐рдбрд╛рдЗрдо) рд╡рд┐рдзрд┐ рдХреЛ рдЦрд╛рд▓реА рдХрд░рддреЗ рд╣реИрдВ ред

рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ () рд╡рд┐рдзрд┐ рдореЗрдВ рд╣рдо рджреГрд╢реНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ, рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЧреЗрдо рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рддреЛ рд╣рдо рдХрд░реЗрдВрдЧреЗ:
 void Demo::initialize() { //        game.scene, //         _scene = Scene::load("res/game.scene"); //  - .         Blender, //            _lightNode = Node::create("directionalLight1"); //      ,    Light* light = Light::createDirectional(_scene->getActiveCamera()->getNode()->getForwardVector()); //    light->setColor(1.0, 1.0, 1.0); //        _lightNode->setLight(light); //         _scene->getActiveCamera()->setAspectRatio((float)getWidth() / (float)getHeight()); //     ,     _scene->visit(this, &Demo::initializeScene); } 

InitializeScene () рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреНрд░рдХрд╛рд╢ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЕрддрд┐рд╢реНрдпреЛрдХреНрддрд┐рдкреВрд░реНрдг рд╣реИрдВ:
 bool Demo::initializeScene(Node* node) { Model* model = node->getModel(); if (model) { Material* material = model->getMaterial(); if (material && material->getTechnique()->getPassByIndex(0)->getEffect()->getUniform("u_lightDirection")) { material->getParameter("u_ambientColor")->setValue(_scene->getAmbientColor()); material->getParameter("u_lightColor")->setValue(_lightNode->getLight()->getColor()); material->getParameter("u_lightDirection")->setValue(_lightNode->getForwardVectorView()); } } return true; } 

рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд╕реАрди () рдкрджреНрдзрддрд┐ рдФрд░ рдирд┐рдЬреА рдЪрд░ рдиреЛрдб * _lightNode рдХреЛ WiFi рдкрд░ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВред
рдЕрджреНрдпрддрди (рдлрд╝реНрд▓реЛрдЯ рдПрд▓реНрдкреНрд╕рдЯрд╛рдЗрдо) рд╡рд┐рдзрд┐ рдХреЛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдВрдЧреЗ, рднреМрддрд┐рдХреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд░реЗрдЧреАред

Demo.h рдФрд░ Demo.cpp рдХреА рдкреВрд░реА рд╕реВрдЪреА
 #ifndef TEMPLATEGAME_H_ #define TEMPLATEGAME_H_ #include "gameplay.h" using namespace gameplay; /** * Main game class. */ class Demo: public Game { public: /** * Constructor. */ Demo(); /** * @see Game::keyEvent */ void keyEvent(Keyboard::KeyEvent evt, int key); /** * @see Game::touchEvent */ void touchEvent(Touch::TouchEvent evt, int x, int y, unsigned int contactIndex); protected: /** * @see Game::initialize */ void initialize(); /** * @see Game::finalize */ void finalize(); /** * @see Game::update */ void update(float elapsedTime); /** * @see Game::render */ void render(float elapsedTime); private: /** * Draws the scene each frame. */ bool drawScene(Node* node); bool initializeScene(Node* node); Scene* _scene; Node* _lightNode; }; #endif 

 #include "Demo.h" // Declare our game instance Demo game; Demo::Demo() : _scene(NULL), _lightNode(NULL) { } void Demo::initialize() { _scene = Scene::load("res/game.scene"); _lightNode = Node::create("directionalLight1"); Light* light = Light::createDirectional(_scene->getActiveCamera()->getNode()->getForwardVector()); light->setColor(1.0, 1.0, 1.0); _lightNode->setLight(light); // Set the aspect ratio for the scene's camera to match the current resolution _scene->getActiveCamera()->setAspectRatio((float)getWidth() / (float)getHeight()); _scene->visit(this, &Demo::initializeScene); } void Demo::finalize() { SAFE_RELEASE(_lightNode); SAFE_RELEASE(_scene); } void Demo::update(float elapsedTime) { } void Demo::render(float elapsedTime) { // Clear the color and depth buffers clear(CLEAR_COLOR_DEPTH, Vector4::zero(), 1.0f, 0); // Visit all the nodes in the scene for drawing _scene->visit(this, &Demo::drawScene); } bool Demo::initializeScene(Node* node) { Model* model = node->getModel(); if (model) { Material* material = model->getMaterial(); if (material && material->getTechnique()->getPassByIndex(0)->getEffect()->getUniform("u_lightDirection")) { material->getParameter("u_ambientColor")->setValue(_scene->getAmbientColor()); material->getParameter("u_lightColor")->setValue(_lightNode->getLight()->getColor()); material->getParameter("u_lightDirection")->setValue(_lightNode->getForwardVectorView()); } } return true; } bool Demo::drawScene(Node* node) { // If the node visited contains a model, draw it Model* model = node->getModel(); if (model) { model->draw(); } return true; } void Demo::keyEvent(Keyboard::KeyEvent evt, int key) { if (evt == Keyboard::KEY_PRESS) { switch (key) { case Keyboard::KEY_ESCAPE: exit(); break; } } } void Demo::touchEvent(Touch::TouchEvent evt, int x, int y, unsigned int contactIndex) { switch (evt) { case Touch::TOUCH_PRESS: break; case Touch::TOUCH_RELEASE: break; case Touch::TOUCH_MOVE: break; }; } 

рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рдирдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рд╕реЗ рдкрд╣рд▓реЗ cmake рдЪрд▓рд╛рдирд╛ рди рднреВрд▓реЗрдВред рд╣рдо рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╣реИрдВ, рд╕рдорд╛рдкреНрдд рдмрд╛рдЗрдирд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЧрдП рднреМрддрд┐рдХреА рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдореЗрдВ рдХреНрдпреВрдмреНрд╕ рдФрд░ рдЧреЗрдВрджреЛрдВ рдХрд╛ рд░рдВрдЧ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рддрд╣ рдкрд░ рдЧрд┐рд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░реЛрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реБрд░реНрд░реЗ!

рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо


рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░ред

рдПрдВрдбреНрд░реЙрдЗрдб: рдЖрдкрдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдФрд░ рдПрдирдбреАрдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдкрд╛рдЪреЗ рдЪреАрдВрдЯреА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред SDK рдФрд░ NDK рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрде рдореЗрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА Android рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ, рдЕрдкрдбреЗрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ -t 1 -p рдЪрд▓рд╛рдПрдВ ред -s && ndk- рдмрд┐рд▓реНрдб рдХрд░реЗрдВ рдФрд░ рд╕рдорд╛рдкреНрдд APK рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
Mac OS X / iOS: Xcode рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ, рдмрд┐рд▓реНрдб, рд░рди рдХрд░реЗрдВред
Windows: Visual Studio рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ, рдмрдирд╛рдПрдБ, рдЪрд▓рд╛рдПрдБред
рдмреНрд▓реИрдХрдмреЗрд░реА рдкреНрд▓реЗрдмреБрдХ: рд╕рд╛рдЗрдЯ рдкрд░ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдкреНрд▓реЗрдмреБрдХ рдХрд╛ рдорд╛рд▓рд┐рдХ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рд╕реНрдерд┐рддрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд▓реЗрдХрд┐рди рдХрдм рд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдЗрд╕реЗ рдкреНрд▓реЗрдмреБрдХ рдХреЗ рддрд╣рдд рд▓рд┐рдЦрд╛ рдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдХрдорд┐рдпреЛрдВ

рдЙрдирдХреЗ рдмрд┐рдирд╛ рдХрд╣рд╛рдБ?

рдЕрдм рддрдХ рдореИрдВрдиреЗ рдЬреЛ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдмреНрд▓реЗрдВрдбрд░ рдФрд░ рдЧреЗрдордкреНрд▓реЗ-рдПрдирдХреЛрдбрд░ рд╣реИред рдкрд╣рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ COLLADA рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдирдХреНрд╢реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдмрдВрдк-рдореИрдкрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдкреИрдЪ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреИрдЪ рдЕрднреА рддрдХ рдмреНрд▓реЗрдВрдбрд░ рдХреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрднреА рддрдХ рдирд┐рдпреЛрдЬрд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкреИрдЪ рдХреЗ рд╕рд╛рде рдмреНрд▓реЗрдВрдбрд░ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдПрдХ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЕрдм рддрдХ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реВрдВред рдмреЗрд╢рдХ, рдЖрдк рдХреЛрд▓рд╛рдбрд╛ рдХреЗ рдмрдЬрд╛рдп рдПрдлрдмреАрдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдЧреЗрдордкреНрд▓реЗ-рдПрдирдХреЛрдбрд░ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рддреИрдпрд╛рд░ рдмрд╛рдЗрдирд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдПрдлрдмреАрдПрдХреНрд╕ рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ FBX рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╣реИред рдПрдлрдмреАрдПрдХреНрд╕ рдПрд╕рдбреАрдХреЗ рдХреЛ рдСрдЯреЛрдбреЗрд╕реНрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдореБрдлреНрдд рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдлрдмреАрдПрдХреНрд╕ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЧреЗрдордкреНрд▓реЗ-рдПрдирдХреЛрдбрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рднреА рдПрдХ рдмрдбрд╝рд╛ рд╕рд┐рд░рджрд░реНрдж рд╣реИред рдХрд╣реАрдВ opencollada рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ libpcrecpp рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдХрд╣реАрдВ FBX SDK рд╢рд░рд╛рд░рддреА рд╣реИ, рдЖрджрд┐ред рдФрд░ рдЕрдЧрд░ Ubuntu 12.04 рдкрд░ рдпрд╣ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдЕрдзрд┐рдХ рд╣рд╛рд▓ рдХреЗ рд▓рд┐рдирдХреНрд╕ рдкрд░ - рдЙрджрд╛рд╕реАред рдЗрд╕рдХрд╛ рдЙрдкрд╛рдп рдорд╛рдпрд╛ рдпрд╛ 3DsMax рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдЬрд╣рд╛рдБ рдмрдореНрдк-рдореИрдкрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╛ рдмреНрд▓реЗрдВрдбрд░ рдпрд╛ рдЧреЗрдордкреНрд▓реЗ-рдПрдирдХреЛрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛рдПрдВред

рдкреНрд░рд▓реЗрдЦрди - рдпрд╣ рд╕реБрдВрджрд░ рд╣реИред рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЧреЗрдордкреНрд▓реЗ-рдПрдкреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдЪрдЯреАрдПрдордПрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдбреЙрдХреНрд╕реАрдЬреЗрди рдирд┐рд╣рд┐рдд рд╣реИред рд▓реЗрдХрд┐рди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреБрд░реНрд▓рдн рд╣реИред рдЧреЗрдордкреНрд▓реЗ-рдирдореВрдиреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЧреЗрдо рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрддрд╛ рд╣реИред рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреВрд░ рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВред

рдорд╛рдореВрд▓реА рдХреАрдбрд╝реЗред рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдлреА рдпреБрд╡рд╛ рд╣реИред рдХрднреА-рдХрднреА рдЫреЛрдЯреЗ рдХреАрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрд▓реНрджреА рд╕реЗ рддрдп рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЗрдЦрдХ рдкреВрд▓ рдЕрдиреБрд░реЛрдз рдФрд░ рдкреИрдЪ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рд╕рдореБрджрд╛рдп рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрддреЗ рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдо


рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рдЧреЗрдордкреНрд▓реЗ 3 рдбреА рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИред рднреМрддрд┐рдХреА рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рд╡рд╛рд╣рдиреЛрдВ рдФрд░ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рдорд╛рди рд╕рд░рд▓ рд╕рд┐рдореБрд▓реЗрд╢рди, рдПрдиреАрдореЗрд╢рди рдФрд░ рдзреНрд╡рдирд┐ рдХреА рд╕рд░рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдЗрдирдкреБрдЯ рдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЬреБрджрд╛рдИ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдХрдИ рдЕрдиреНрдп рдЕрдЪреНрдЫрд╛рдИ рдФрд░ рдЦреБрд╢рд┐рдпрд╛рдБ рд╣реИрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, Habr├й рдкрд░ рдПрдХ рд▓реЗрдЦ рдлрд┐рд╕рд▓ рдЧрдпрд╛ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЧреЗрдо рд▓рд┐рдЦрдирд╛ рдХрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рднрд┐рдиреНрди рдлреЛрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдирд╛рд╡рдЯ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд┐рдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд┐рдкреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдмрдирд╛рд╡рдЯ рдХреЗ рд▓рд┐рдП рдкрдереЛрдВ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП atc рдЪрд┐рдкреНрд╕, dxt рдХреЗ рд▓рд┐рдП game.dxt.config, pvr, game.pvr.config рдХреЗ рд╕рд╛рде рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЧреЗрдоред рдкреАрд╕реА рдХреЗ рд▓рд┐рдП png.conf, рдФрд░ рдЗрдВрдЬрди рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╢реНрди рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдЙрдард╛рдПрдЧрд╛ред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд▓реЗрдЦ рдХрд╛ рдЖрдирдВрдж рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рдЗрд╕ рдЕрджреНрднреБрдд рдврд╛рдВрдЪреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕ рдкрд░ рдЕрдкрдиреА рдЕрдЧрд▓реА (рдпрд╛ рдкрд╣рд▓реА) рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рдкреЛрд╕реНрдЯ рдХрд╛рдлреА рдмрдбрд╝рд╛ рдирд┐рдХрд▓рд╛, рдЗрд╕рд▓рд┐рдП рдЖрдЗрдП рд╕рд╛рдордЧреНрд░реА рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдбреЗрдореЛ рдореЗрдВ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рд╣рд░ рдмрд╛рд░ рдзреНрд╡рдирд┐рдпреЛрдВ рдХреЛ рдкреЗрдВрдЪ рдХрд░рддреЗ рд╣реИрдВред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдЗрдЯ: gameplay3d.org

рдмреНрд▓реЗрдВрдбрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рджреГрд╢реНрдп рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рд▓реЗрдЦ: dl.dropbox.com/u/64710641/Demo_complete.zip
рдмреНрд▓реЗрдВрдбрд░ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп: dl.dropbox.com/u/64710641/boxes.blend
COLLADA рдореЗрдВ рджреГрд╢реНрдп: dl.dropbox.com/u/64710641/boxes.dae
GamePlayBundle рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рджреГрд╢реНрдп: dl.dropbox.com/u/64710641/boxes.gpb

рдЕрдВрдд рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдордВрдЪ рдкрд░ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред
рддрд░рд▓ рдЧрддрд┐рдХреА рдкреНрд░рдпреЛрдЧ

рдЖрдЪрд░рдг рдХреЗ рдкрдВрдЦ рдбрд╕реНрдЯрд░ BB10 рдПрдкреНрд▓рд┐рдХреЗрд╢рди

рдЧреЗрдордкреНрд▓реЗ 3 рдбреА + рдХрд┐рдиреЗрдХреНрдЯ
BBGamePlay + OpenNI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ AR рдмреЙрдбреА рд╕реВрдЯ

рдмреЗрдирд╛рдо: Kinect рдЦреЗрд▓

Source: https://habr.com/ru/post/In174189/


All Articles