
рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреЗрдЬреА рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рд░реВрд╕ рдореЗрдВ рдХрд┐рд╕реА рдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд╕рдбреАрдХреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдРрд╕рд╛ рд╣реБрдЖ - рд░реВрд╕реА рдХрдВрдкрдиреА Sectar рдиреЗ .NET рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ Swarp SDK рдЙрддреНрдкрд╛рдж рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ Swarp рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдирд╛ AR рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред
рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди
рдЙрддреНрдкрд╛рдж
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╕рдВрд╕реНрдХрд░рдг 1.0.249.925 рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ), рдЖрдк 5 рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
- рдмрд┐рди - рдпрд╣рд╛рдБ рд╕рднреА рд╕реНрд╡рд╛рд░ рдПрд╕рдбреАрдХреЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдПрдВ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдкреНрд░рдмрдВрдзрд┐рдд рдУрдЧреНрд░реЗ (рдореЛрдЧрд░реЗ) рдЗрдВрдЬрди рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдбреЙрдХреНрд╕ - рдореЗрдВ (рд▓рд╛рдЗрд╕реЗрдВрд╕ рдПрдЧреНрд░реАрдореЗрдВрдЯ рдФрд░ рд░рд┐рд▓реАрдЬрд╝рдиреЛрдЯреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдлрд╝рд╛рдЗрд▓ "Documentation.chm" рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕рдореЗрдВ рд╕реНрд╡рд╛рд░реНрдк рдХреЗ рд▓рд┐рдП рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╡реИрд╕реЗ, рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рд░реВрд╕реА рдореЗрдВ рд╣реИрдВ рдФрд░ MSDN рдХреА рд╢реИрд▓реА рдореЗрдВ рдмрдиреЗ рд╣реИрдВ, рдЬреЛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ .NET рдкрд░ рдбреЗрд╡рд▓рдкрд░ рдХреА рдзрд╛рд░рдгрд╛ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдЙрджрд╛рд╣рд░рдг рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗрдХреНрдЯрд░реНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдПрд╕рдбреАрдХреЗ рдХреЗ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, 3 рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬреЛ рдореЛрдЧрд░реЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХ .net рд░реИрдкрд░ Ogre3D, рд╕рд╛рде рд╣реА рдПрдХ рдорд╛рд░реНрдХрд░ рдХреЗ рд╕рд╛рде рдбрд╛рдпрдиреЗрдорд┐рдХ 3 рдбреА рдореЙрдбрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ред рд╕рднреА рдЙрджрд╛рд╣рд░рдг рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рд╣реИрдВред
- рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп - рдЗрд╕рдореЗрдВ рдХрдИ рд╕реНрд╡рд╛рд░ рдПрд╕рдбреАрдХреЗ рдорд╛рд░реНрдХрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ рдЖрдк SquareMarkerCreator рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдЖрдк рдорд╛рд░реНрдХрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
- рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ - SquareMarkerCreator, HID, рдФрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╡реНрдпреВрдЕрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рдпрд╣рд╛рдБ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЕрдВрддрд┐рдо рджреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрд╛рдж рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрди рдкрд░ рдЬреНрдпрд╛рджрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддрд╛ред рдпрджрд┐ рдХреЛрдИ рдЗрдЪреНрдЫреБрдХ рд╣реИ, рддреЛ рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди SquareMarkerCreator рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЕрд▓рдЧ рд╕реЗ рдмрддрд╛рдКрдВрдЧрд╛ред
рдорд╛рд░реНрдХрд░
рд╕реНрд╡рд╛рд░ рдПрд╕рдбреАрдХреЗ рдПрдХ рдЕрдЬреАрдм рдорд╛рд░реНрдХрд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдорд╛рд░реНрдХрд░ рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдирдХ рдорд╛рд░реНрдХрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рд╕рд╛рдордЧреНрд░реА рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИред
рдПрдХ рдорд╛рд░реНрдХрд░ рдХрд╛рдЧрдЬ рдкрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА .trackable рдлрд╝рд╛рдЗрд▓ рдореЗрдВ:
<?xml version="1.0" encoding="utf-8"?> <Trackable Type="Sectar Square Marker" Description="Marker with square detection element" Version="1.0" Company="Sectar"> <SquareMarker MarkerSize="500" FrameWidth="80" CellsCount="4" FrameMargin="15" CellMargin="5" CellsType="Circle"> <Code>111100010101</Code> </SquareMarker> </Trackable>
рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдорди рдореЗрдВ рдПрдХ рд╕рд╡рд╛рд▓ рд╣реЛрдЧрд╛: рдХрд┐рд╕реА .trackable рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп .jpg рдпрд╛ .png рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреИрд╕реЗ рдХрд░реЗрдВ? рдпрд╣ рд╕рд░рд▓ рд╣реИ: SquareMarkerCreator.exe рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреА рд╣реИред
рдорд╛рд░реНрдХрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ (SquareMarkerCreator)
рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрд╡рд╛рд░реНрдк рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдорд╛рд░реНрдХрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж, рдПрдХ рджреГрд╢реНрдп рдорд╛рд░реНрдХрд░ рд╕рдВрдкрд╛рджрдХ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:

рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдмрд╕ рдПрдХ рдорд╛рд░реНрдХрд░ рд╕реЗрд▓ рдХрд╛ рд░рдВрдЧ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдЖрдк рдРрд╕реЗ рдорд╛рд░реНрдХрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди, рдлреНрд░реЗрдо рдЪреМрдбрд╝рд╛рдИ, рд╕реЗрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЖрдпрд╛рдо рдФрд░ рдЕрдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд┐рд╕реА XML рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдПрдХ рдорд╛рд░реНрдХрд░ рдХреЛ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ "XML рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдорд╛рд░реНрдХрд░ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ "рд╕рд╣реЗрдЬреЗрдВ рдЫрд╡рд┐" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдорд╛рд░реНрдХрд░ рдХреЛ рдПрдХ .EMF рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред
рдирдорд╕реНрдХрд╛рд░ рд╡рд┐рд╢реНрд╡! рд╕реНрд╡рд░ рдПрд╕рдбреАрдХреЗ рдкрд░
рдЕрдкрдиреЗ рдПрдЖрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдПрдХ OgreSimpleSceneExample рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдкрд╣рд▓реЗ рдХреИрдорд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдХ 3 рдбреА рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдЧрд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
рдХрдВрд╕реЛрд▓ Win32 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдФрд░ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдЕрд╕реЗрдВрдмрд▓реА рдЬреЛрдбрд╝реЗрдВ:

рдФрд░ рдХреЛрдб рдореЗрдВ рд╣рдо рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using Mogre; using Swarp.Examples.OgreSimpleSceneExample.Properties; using Swarp.SDK.Management; using Swarp.SDK.Ogre3DRendering; using Swarp.SDK.Rendering; using Swarp.SDK.Target.SquareMarkerTracking; using Swarp.SDK.Tracking; using Swarp.SDK.DirectShowInput;
рдЕрдм рдЖрдкрдХреЛ рд╕реНрдереИрддрд┐рдХ рд╡рд░реНрдЧ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ред рд╣рдореЗрдВ
AugmentedRealityManager рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдПрд╕рдбреАрдХреЗ рдореЙрдбреНрдпреВрд▓реЛрдВ рдХреА рдмрд╛рддрдЪреАрдд рдФрд░ рдкреНрд░рдмрдВрдзрди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдорд╛рд░реНрдХрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╣рдореЗрдВ ITrackable рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдорд┐рд▓рддреЗ рд╣реИрдВ:
static class Program {
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╣реИред рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ - рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдЖрдЧреЗ, рдореИрдВ Swarp SDK рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдПрдХ рдЪрд┐рддреНрд░ рджреВрдВрдЧрд╛:

рддрд╕реНрд╡реАрд░ рдореЗрдВ, рд▓рд╛рд▓ рдлреНрд░реЗрдо рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд░реНрддрдорд╛рди рд╕реНрддрд░ рдкрд░, рдЖрдкрдХреЛ рдХреИрдорд░реЗ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
CameraManager рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рдлрд┐рд░ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреМрди рд╕реЗ рдорд╛рд░реНрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
var tracker = new SquareMarkerTracker(1);
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐
рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп \ 5. рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдорд╛рд░реНрдХрд░ рдорд╛рд░реНрдХрд░ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
рдФрд░ рдЕрдм рд╣рдореЗрдВ рдореЛрдЧрд░реЗ-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
Managed Ogre рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ Ogre3DRenderingSystem рд╡рд░реНрдЧ рдореЗрдВ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЬреАрд╡рди рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ рдирд┐рдпрдорд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЛрдЧрд░реЗ рдПрдХ рдЕрд▓рдЧ рдФрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╡рд┐рд╖рдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореЛрдЧрд░реЗ рд╡рд┐рдХрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИред
рд╕реНрд╡рд░реВрдк SDK рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХреЗрд╡рд▓ Ogre рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рджреВрд╕рд░реЗ рд░реЗрдВрдбрд░рд░ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░реЗрдВрдбрд░рд░ рдФрд░ рд╕реАрди рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рджреЛ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдПрдВред
рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред
Ogre3DRenderSystem рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ
рд╕рдордп , 4 рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
рдореЛрдЧрд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлреЙрд░реНрдо рдпрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рддрд░реАрдХрд╛, рдУрдЧреНрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрде рдЬреЛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд▓рдЧ-рдЗрди рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрдеред
рдЖрдЧреЗ рдУрдЧреНрд░реЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВред 3 рдбреА рдореЙрдбрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдирдХреЗ рд╕рдВрджрд░реНрдн рджрд┐рдП рдЬрд╛рдПрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рд╕рдВрд╕рд╛рдзрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
# Resource locations to be added to the 'boostrap' path # This also contains the minimum you need to use the Ogre example framework [Bootstrap] # Resource locations to be added to the default path [General] FileSystem= FileSystem=Resources Zip=Resources/House.zip
рдХреЗрд╡рд▓ рдПрдХ House.zip рдореЙрдбрд▓ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред
рддрдм
LoadScene рд╡рд┐рдзрд┐
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдпрд╣ рдПрдХ рдореЛрдЧрд░реЗ рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рдФрд░ рдЙрд╕рдореЗрдВ рдПрдХ рдореЙрдбрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЖрдк рдореЛрдЧрд░реЗ рд╡рд┐рдХрд┐ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдзрд┐ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ:
private static void LoadScene(SceneManager sceneManager) {
рдЕрдм рд╕рдм рдХреБрдЫ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ:
рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ: рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХреИрдорд░реЗ рд╕реЗ рдХрдмреНрдЬрд╛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
UpdateScenes рд╡рд┐рдзрд┐ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдорд╛рд░реНрдХрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореЙрдбрд▓ (рдпрджрд┐ рдЯреНрд░реИрдХрд░ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЛ рдЙрдиреНрдореБрдЦ рдХрд░рддрд╛ рд╣реИ:
private static void UpdateScenes() {
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рдкрд╣рд▓рд╛ рдПрдЖрд░-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдорд┐рд▓рд╛, рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ "рд╣реИрд▓реЛ, рд╡рд░реНрд▓реНрдб!" рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВред рдореБрдЭреЗ рдЬреЛ рдХреБрдЫ рдорд┐рд▓рд╛ рдЙрд╕рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓рд┐рдпрд╛:

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