ARKit 2.0 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ

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



ARKit рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдлреЛрди рдХреА рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛, рдЪрд╛рд░реЛрдВ рдУрд░ рдкреНрд░рдХрд╛рд╢ рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ рдЧрд░реНрдореА рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдирд╛ рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рд╡рд┐рдорд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред ARKit 1.5, рдЬрд┐рд╕реЗ iOS 11.3 рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдиреЗ рдЫрд╡рд┐ рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛, рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╡рд┐рдорд╛рдиреЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛, рд╕реНрдерд┐рд░ 2D рдЫрд╡рд┐рдпреЛрдВ рдХреА рдорд╛рдиреНрдпрддрд╛ рдФрд░ рдСрдЯреЛрдлреЛрдХрд╕ рдХреЛ рдЬреЛрдбрд╝рд╛ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 2.0 рдореЗрдВ рдХреНрдпрд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред


рдПрдЖрд░ рдХрд╛рд░реНрдб рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


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


рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: ARSession рдХреЛ getCurrentWorldMapWithCompletionHandler рд╡рд┐рдзрд┐ getCurrentWorldMapWithCompletionHandler рд╣реИ, рдЬреЛ ARWorldMap рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдг рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ ARKit рджреГрд╢реНрдп рдХреЗ рд╢реВрдиреНрдп рд╕рдордиреНрд╡рдп рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде ARAnchors рд╕рд░рдгреА рднреА рдЬрд┐рд╕рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред ARWorldMap рдХреЛ рдмрдЪрд╛рдпрд╛ рдпрд╛ рдХрд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ ARSessionConfiguration рдХреЗ initialWorldMap рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ .relocalizing рдХрд╛рд░рдг рдХреЗ рд╕рд╛рде рд╕реНрд╡рд┐рдЪ рд╣реЛ .relocalizing ред рдЬреИрд╕реЗ рд╣реА ARKit рдиреЗ рдмрд╣рд╛рд▓реА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрдВрдХ рдПрдХрддреНрд░ рдХрд┐рдП рд╣реИрдВ, рд╢реВрдиреНрдп рд╕рдордиреНрд╡рдп рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рдкрд░ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕рддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдкрд░ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЬрд╛рдПрдЧреАред


рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, Apple рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ:


  • рд╡рд┐рднрд┐рдиреНрди рдХреЛрдгреЛрдВ рд╕реЗ рджреГрд╢реНрдп рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдВред рдЕрдВрдХреЛрдВ рдХрд╛ рд╕рд░рдгреА рдмрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛрдЧрд╛;
  • рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдерд┐рд░ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдирд╛рд╡рдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
  • рдЕрдВрдХреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХрд╛рдлреА рдШрдиреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХреЛ ARFrame рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм ARFrame рдореЗрдВ рдПрдХ worldMappingStatus рдлрд╝реАрд▓реНрдб рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд┐рдЬрд╛рдЗрди рдХрд░рддреЗ рд╕рдордп рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдорд▓реНрдЯреАрдкреНрд▓реЗрдпрд░ рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛


рдкрд░реНрдпрд╛рд╡рд░рдг рдорд╛рдирдЪрд┐рддреНрд░ рдмрдЪрдд рддрдВрддреНрд░ рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкрд░реНрдпрд╛рд╡рд░рдг рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдмрд╣реБ-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░рд┐рджреГрд╢реНрдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред


рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ, рдЦреЗрд▓ рд╕реНрд╡рд┐рдлреНрдЯрд╢реЙрдЯ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЧреБрд▓реЗрд▓ рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдЧреБрд▓реЗрд▓ рдкрд░ рд╢реВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рдЦреЗрд▓ рд╕реНрд╡рд┐рдлреНрдЯ + рджреГрд╢реНрдп рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдХреНрд░рд┐рдпрд╛рдПрдБ MultipeerConnectivity рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХреА рдЬрд╛рддреА рд╣реИрдВ ред рдЖрд╡реЗрджрди рд╕реНрд░реЛрдд рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред


рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдкреНрд░рддрд┐рдмрд┐рдВрдм


рджреГрд╢реНрдп рдореЗрдВ рдЖрднрд╛рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреА рдПрдХ рдзрд╛рддреБ рд╡рд╕реНрддреБ рдХреЛ рдЬреЛрдбрд╝рдирд╛, рдореИрдВ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, ARWorldTrackingConfiguration рдПрдХ environmentTexturing рдХреНрд╖реЗрддреНрд░ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ SceneKit рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ SceneKit рд▓рд┐рдП environmentTexturing рдХреЛ .automatic рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ environmentTexturing , рддреЛ рдЖрдкрдХреЛ рдирд┐рдореНрди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:



рдХреИрдорд░реЗ рд╕реЗ рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, ARKit рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдмрдирд╛рд╡рдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдШрди рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рддрд╛ рд╣реИред рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреНрд░реЗрдо рдореЗрдВ рдирд╣реАрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред


2 рдбреА рдЪрд▓рддреА рдЫрд╡рд┐рдпрд╛рдБ рдЯреНрд░реИрдХ рдХрд░реЗрдВ


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



рдмреЗрд╣рддрд░ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╖рдо, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдирд╛рд╡рдЯ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ Xcode рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЧрд╛ред


рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ ARImageTrackingConfiguration рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред trackingImages рд╕рд░рдгреА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ maximumNumberOfTrackedImages ред рдЫрд╡рд┐ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ ARImageAnchor рд░реВрдк рдореЗрдВ ARImageAnchor ред


рд╕реНрдЯреИрдЯрд┐рдХ 3 рдбреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛


рд╕реНрдерд┐рд░ 3 рдбреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдорд╛рдиреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдорд╛рдиреНрдпрддрд╛ рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╕реНрддреБ рдХреЛ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк Apple рдХреЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдХреИрди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдареЛрд╕, рдореИрдЯ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдирд╛рд╡рдЯ рд╡рд╛рд▓реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред


рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдлрд╛рдЗрд▓ рдпрд╛ рд░рд┐рд╕реЛрд░реНрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реЗ ARReferenceObject рдмрдирд╛рдПрдВ рдФрд░ ARWorldTrackingConfiguration.detectionObjects рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред ARFrame рдореЗрдВ рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреА ARFrame ред


рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдкреНрд░рд╕реНрддреБрддрд┐ рдиреЗ рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рдореЗрдВ рдореВрд░реНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рджрд┐рдЦрд╛рдпрд╛ред


рдлреЗрд╕ рдЯреНрд░реИрдХрд┐рдВрдЧ


рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЪреЗрд╣рд░реЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рд░реЛрдЯреЗрд╢рди, рдЪреЗрд╣рд░реЗ рдХреЗ рдмрд╣реБрднреБрдЬ рдЬрд╛рд▓ рдФрд░ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА (рд╢реВрдиреНрдп рд╕реЗ рдПрдХ рд╕реЗ рдкреНрд░рдЧрддрд┐ рдХреЗ рд╕рд╛рде 51 рднрд╛рд╡рдирд╛рдПрдВ) рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╣рдо рддреАрди рдирд╡рд╛рдЪрд╛рд░ рджреЗрдЦреЗрдВрдЧреЗ:


рджрд┐рд╢рд╛рддреНрдордХ рдкреНрд░рдХрд╛рд╢ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ред


ARKit 2 рдкреНрд░рдХрд╛рд╢ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЪреЗрд╣рд░реЗ рдХреА рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде, рдЖрдк рдкреНрд░рдХрд╛рд╢ рдХреА рддреАрд╡реНрд░рддрд╛, рддрд╛рдкрдорд╛рди рдФрд░ рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдореБрдЦреМрдЯреЗ рдЕрдзрд┐рдХ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдмрдиреЗрдВрдЧреЗ;


рднрд╛рд╖рд╛ рдЯреНрд░реИрдХрд┐рдВрдЧред


рдПрдХ рдЬреАрдн рдХреЛ рд╣реБрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рднрд╛рд╖рд╛ рдХреА "рдКрдВрдЪрд╛рдИ" рдХреА [0,1] рдбрд┐рдЧреНрд░реА рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдЖрдк рд╕реЗ, рдореИрдВ рдпрд╣ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд▓рдЧрднрдЧ рдореЗрд░реЗ рд╕рднреА рджреЛрд╕реНрддреЛрдВ рдиреЗ рднрд╛рд╖рд╛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдПрдирд┐рдореЛрдЬреА рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рджрд┐рдпрд╛;


рдирдЬрд╝рд░ рд░рдЦрдирд╛ред


ARFaceAnchor рдореЗрдВ рддреАрди рдирдП рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ: leftEyeTransform , rightEyeTransform рдФрд░ lookAtPoint ред рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреЗрдореЛ рд╣реИрдВ:



рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕реБрдзрд╛рд░:


  • рд╡рд┐рдорд╛рдиреЛрдВ рдХреА рдЖрд░рдВрдн рдФрд░ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рддреЗрдЬреА рдЖрдИ рд╣реИ;
  • рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдлреЛрди рдХреА рдЯреНрд░реИрдХрд┐рдВрдЧ рдФрд░ рд╡рд┐рдорд╛рдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ;
  • рд╡рд┐рдорд╛рди рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдорд╛рдиреЛрдВ рдХреА рд╕реАрдорд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреА рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ;
  • 4: 3 рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рдд рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ (рдЕрдм рдпрд╣ рдкреНрд░рд╛рд░реВрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рдПрдЧрд╛)ред

4: 3 рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╕реБрдзрд╛рд░, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдВрдЧреЗред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирдП рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред




рдпрджрд┐ рдЬрд╛рдирдХрд╛рд░реА рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдереА, рддреЛ рдЕрдк рдРрд░реЛ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред рдФрд░ рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред

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


All Articles