{"abstract":[{"text":"A dictionary of named coefficients representing the detected facial expression in terms of the movement of specific facial features.","type":"text"}],"hierarchy":{"paths":[["doc:\/\/com.apple.documentation\/documentation\/technologies","doc:\/\/com.apple.arkit\/documentation\/ARKit","doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor"]]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/blendShapes"},"kind":"symbol","legalNotices":{"copyright":"Copyright &copy; 2026 Apple Inc. All rights reserved.","privacyPolicy":"https:\/\/www.apple.com\/privacy\/privacy-policy","termsOfUse":"https:\/\/www.apple.com\/legal\/internet-services\/terms\/site.html"},"metadata":{"availableLanguages":["de-DE","en-US","es-419","fr-FR","it-IT","ja-JP","ko-KR","pt-BR","zh-CN"],"externalID":"c:objc(cs)ARFaceAnchor(py)blendShapes","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"blendShapes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)ARFaceAnchor","text":"ARFaceAnchor"},{"kind":"text","text":"."},{"kind":"typeIdentifier","preciseIdentifier":"c:@T@ARBlendShapeLocation","text":"BlendShapeLocation"},{"kind":"text","text":" : "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSNumber","text":"NSNumber"},{"kind":"text","text":"]"}],"modules":[{"name":"ARKit"}],"navigatorTitle":[{"kind":"identifier","text":"blendShapes"}],"platforms":[{"introducedAt":"11.0","name":"iOS"},{"introducedAt":"11.0","name":"iPadOS"}],"role":"symbol","roleHeading":"Instance Property","symbolKind":"property","title":"blendShapes"},"primaryContentSections":[{"declarations":[{"languages":["swift"],"platforms":["iOS","iPadOS","Mac Catalyst"],"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"blendShapes"},{"kind":"text","text":": ["},{"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor","kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)ARFaceAnchor","text":"ARFaceAnchor"},{"kind":"text","text":"."},{"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation","kind":"typeIdentifier","preciseIdentifier":"c:@T@ARBlendShapeLocation","text":"BlendShapeLocation"},{"kind":"text","text":" : "},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/Foundation\/NSNumber","kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSNumber","text":"NSNumber"},{"kind":"text","text":"] { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}]}],"kind":"declarations"},{"content":[{"anchor":"Discussion","level":2,"text":"Discussion","type":"heading"},{"inlineContent":[{"text":"Each key in this dictionary (an ","type":"text"},{"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation","isActive":true,"type":"reference"},{"text":" constant) represents one of many specific facial features recognized by ARKit. The corresponding value for each key is a floating point number indicating the current position of that feature relative to its neutral configuration, ranging from ","type":"text"},{"code":"0.0","type":"codeVoice"},{"text":" (neutral) to ","type":"text"},{"code":"1.0","type":"codeVoice"},{"text":" (maximum movement).","type":"text"}],"type":"paragraph"},{"inlineContent":[{"text":"You can use blend shape coefficients to animate a 2D or 3D character in ways that follow the user’s facial expressions. ARKit provides many blend shape coefficients, resulting in a detailed model of a facial expression; however, you can use as many or as few of the coefficients as you desire to create a visual effect. For example, you might animate a simple cartoon character using only the ","type":"text"},{"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation\/jawOpen","isActive":true,"type":"reference"},{"text":", ","type":"text"},{"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation\/eyeBlinkLeft","isActive":true,"type":"reference"},{"text":", and ","type":"text"},{"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation\/eyeBlinkRight","isActive":true,"type":"reference"},{"text":" coefficients. A professional 3D artist could create a detailed character model rigged for realistic animation using a larger set, or the entire set, of coefficients.","type":"text"}],"type":"paragraph"},{"inlineContent":[{"text":"You can also use blend shape coefficients to record a specific facial expression and reuse it later. The ","type":"text"},{"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceGeometry","isActive":true,"type":"reference"},{"text":" ","type":"text"},{"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceGeometry\/init(blendShapes:)","isActive":true,"type":"reference"},{"text":" initializer creates a detailed 3D mesh from a dictionary equivalent to this property’s value; the serialized form of a blend shapes dictionary is more portable than that of the face mesh those coefficients describe.","type":"text"}],"type":"paragraph"}],"kind":"content"}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"seeAlsoSections":[{"anchor":"Using-Blend-Shapes","generated":true,"identifiers":["doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation"],"title":"Using Blend Shapes"}],"variants":[{"paths":["\/documentation\/arkit\/arfaceanchor\/blendshapes"],"traits":[{"interfaceLanguage":"swift"}]},{"paths":["\/documentation\/arkit\/arfaceanchor\/blendshapes"],"traits":[{"interfaceLanguage":"occ"}]}],"references":{"doc://com.apple.arkit/documentation/ARKit":{"abstract":[{"text":"Integrate hardware sensing features to produce augmented reality apps and games.","type":"text"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit","kind":"symbol","role":"collection","title":"ARKit","type":"topic","url":"\/documentation\/arkit"},"doc://com.apple.arkit/documentation/ARKit/ARFaceAnchor":{"abstract":[{"text":"An anchor for a unique face that is visible in the front-facing camera.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"ARFaceAnchor"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"ARFaceAnchor"}],"role":"symbol","title":"ARFaceAnchor","type":"topic","url":"\/documentation\/arkit\/arfaceanchor"},"doc://com.apple.arkit/documentation/ARKit/ARFaceAnchor/BlendShapeLocation":{"abstract":[{"text":"Identifiers for specific facial features, for use with coefficients describing the relative movements of those features.","type":"text"}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"BlendShapeLocation"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"BlendShapeLocation"}],"role":"symbol","title":"ARFaceAnchor.BlendShapeLocation","type":"topic","url":"\/documentation\/arkit\/arfaceanchor\/blendshapelocation"},"doc://com.apple.arkit/documentation/ARKit/ARFaceAnchor/BlendShapeLocation/eyeBlinkLeft":{"abstract":[{"text":"The coefficient describing closure of the eyelids over the left eye.","type":"text"}],"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"eyeBlinkLeft"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)ARFaceAnchor","text":"ARFaceAnchor"},{"kind":"text","text":"."},{"kind":"typeIdentifier","preciseIdentifier":"c:@T@ARBlendShapeLocation","text":"BlendShapeLocation"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation\/eyeBlinkLeft","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"ARBlendShapeLocationEyeBlinkLeft"}],"role":"symbol","title":"eyeBlinkLeft","type":"topic","url":"\/documentation\/arkit\/arfaceanchor\/blendshapelocation\/eyeblinkleft"},"doc://com.apple.arkit/documentation/ARKit/ARFaceAnchor/BlendShapeLocation/eyeBlinkRight":{"abstract":[{"text":"The coefficient describing closure of the eyelids over the right eye.","type":"text"}],"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"eyeBlinkRight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)ARFaceAnchor","text":"ARFaceAnchor"},{"kind":"text","text":"."},{"kind":"typeIdentifier","preciseIdentifier":"c:@T@ARBlendShapeLocation","text":"BlendShapeLocation"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation\/eyeBlinkRight","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"ARBlendShapeLocationEyeBlinkRight"}],"role":"symbol","title":"eyeBlinkRight","type":"topic","url":"\/documentation\/arkit\/arfaceanchor\/blendshapelocation\/eyeblinkright"},"doc://com.apple.arkit/documentation/ARKit/ARFaceAnchor/BlendShapeLocation/jawOpen":{"abstract":[{"text":"The coefficient describing an opening of the lower jaw.","type":"text"}],"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"jawOpen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)ARFaceAnchor","text":"ARFaceAnchor"},{"kind":"text","text":"."},{"kind":"typeIdentifier","preciseIdentifier":"c:@T@ARBlendShapeLocation","text":"BlendShapeLocation"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation\/jawOpen","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"ARBlendShapeLocationJawOpen"}],"role":"symbol","title":"jawOpen","type":"topic","url":"\/documentation\/arkit\/arfaceanchor\/blendshapelocation\/jawopen"},"doc://com.apple.arkit/documentation/ARKit/ARFaceAnchor/blendShapes":{"abstract":[{"text":"A dictionary of named coefficients representing the detected facial expression in terms of the movement of specific facial features.","type":"text"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"blendShapes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)ARFaceAnchor","text":"ARFaceAnchor"},{"kind":"text","text":"."},{"kind":"typeIdentifier","preciseIdentifier":"c:@T@ARBlendShapeLocation","text":"BlendShapeLocation"},{"kind":"text","text":" : "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSNumber","text":"NSNumber"},{"kind":"text","text":"]"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/blendShapes","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"blendShapes"}],"role":"symbol","title":"blendShapes","type":"topic","url":"\/documentation\/arkit\/arfaceanchor\/blendshapes"},"doc://com.apple.arkit/documentation/ARKit/ARFaceGeometry":{"abstract":[{"text":"A 3D mesh describing face topology for use in face-tracking AR sessions.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"ARFaceGeometry"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceGeometry","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"ARFaceGeometry"}],"role":"symbol","title":"ARFaceGeometry","type":"topic","url":"\/documentation\/arkit\/arfacegeometry"},"doc://com.apple.arkit/documentation/ARKit/ARFaceGeometry/init(blendShapes:)":{"abstract":[{"text":"Creates a face geometry matching the facial expression described in the specified dictionary.","type":"text"}],"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"blendShapes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)ARFaceAnchor","text":"ARFaceAnchor"},{"kind":"text","text":"."},{"kind":"typeIdentifier","preciseIdentifier":"c:@T@ARBlendShapeLocation","text":"BlendShapeLocation"},{"kind":"text","text":" : "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSNumber","text":"NSNumber"},{"kind":"text","text":"])"}],"identifier":"doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceGeometry\/init(blendShapes:)","kind":"symbol","navigatorTitle":[{"kind":"text","text":"- "},{"kind":"identifier","text":"initWithBlendShapes:"}],"role":"symbol","title":"init(blendShapes:)","type":"topic","url":"\/documentation\/arkit\/arfacegeometry\/init(blendshapes:)"},"doc://com.apple.documentation/documentation/Foundation/NSNumber":{"abstract":[{"text":"An object wrapper for primitive scalar numeric values.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"NSNumber"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/Foundation\/NSNumber","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"NSNumber"}],"role":"symbol","title":"NSNumber","type":"topic","url":"\/documentation\/foundation\/nsnumber"},"doc://com.apple.documentation/documentation/technologies":{"abstract":[],"identifier":"doc:\/\/com.apple.documentation\/documentation\/technologies","kind":"technologies","role":"overview","title":"Technologies","type":"topic","url":"\/documentation\/technologies"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/identifier\/interfaceLanguage","value":"occ"},{"op":"replace","path":"\/metadata\/platforms","value":[{"introducedAt":"11.0","name":"iOS"},{"introducedAt":"11.0","name":"iPadOS"}]},{"op":"replace","path":"\/metadata\/roleHeading","value":"Instance Property"},{"op":"replace","path":"\/metadata\/title","value":"blendShapes"},{"op":"replace","path":"\/metadata\/symbolKind","value":"property"},{"op":"replace","path":"\/metadata\/fragments","value":[{"kind":"identifier","text":"blendShapes"}]},{"op":"replace","path":"\/hierarchy","value":{"paths":[["doc:\/\/com.apple.documentation\/documentation\/technologies","doc:\/\/com.apple.arkit\/documentation\/ARKit","doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor"]]}},{"op":"add","path":"\/topicSections","value":null},{"op":"add","path":"\/relationshipsSections","value":null},{"op":"replace","path":"\/seeAlsoSections","value":[{"anchor":"Using-Blend-Shapes","generated":true,"identifiers":["doc:\/\/com.apple.arkit\/documentation\/ARKit\/ARFaceAnchor\/BlendShapeLocation"],"title":"Using Blend Shapes"}]},{"op":"replace","path":"\/primaryContentSections\/0","value":{"declarations":[{"languages":["occ"],"platforms":["iOS","iPadOS","Mac Catalyst","visionOS"],"tokens":[{"kind":"keyword","text":"@property"},{"kind":"text","text":" ("},{"kind":"keyword","text":"nonatomic"},{"kind":"text","text":", "},{"kind":"keyword","text":"strong"},{"kind":"text","text":", "},{"kind":"keyword","text":"readonly"},{"kind":"text","text":") "},{"kind":"typeIdentifier","preciseIdentifier":"c:Q$objc(cs)NSDictionary","text":"NSDictionary<NSString *,NSNumber *>"},{"kind":"text","text":" * "},{"kind":"identifier","text":"blendShapes"},{"kind":"text","text":";"}]}],"kind":"declarations"}},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor\/title","value":"ARFaceAnchor"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor\/fragments","value":[{"kind":"identifier","text":"ARFaceAnchor"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor\/navigatorTitle","value":[{"kind":"identifier","text":"ARFaceAnchor"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation\/title","value":"ARBlendShapeLocation"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation\/fragments","value":[{"kind":"identifier","text":"ARBlendShapeLocation"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation\/navigatorTitle","value":[{"kind":"identifier","text":"ARBlendShapeLocation"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation~1eyeBlinkLeft\/title","value":"ARBlendShapeLocationEyeBlinkLeft"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation~1eyeBlinkLeft\/fragments","value":[{"kind":"identifier","text":"ARBlendShapeLocationEyeBlinkLeft"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation~1eyeBlinkRight\/title","value":"ARBlendShapeLocationEyeBlinkRight"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation~1eyeBlinkRight\/fragments","value":[{"kind":"identifier","text":"ARBlendShapeLocationEyeBlinkRight"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation~1jawOpen\/title","value":"ARBlendShapeLocationJawOpen"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1BlendShapeLocation~1jawOpen\/fragments","value":[{"kind":"identifier","text":"ARBlendShapeLocationJawOpen"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1blendShapes\/title","value":"blendShapes"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceAnchor~1blendShapes\/fragments","value":[{"kind":"identifier","text":"blendShapes"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceGeometry\/title","value":"ARFaceGeometry"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceGeometry\/fragments","value":[{"kind":"identifier","text":"ARFaceGeometry"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceGeometry\/navigatorTitle","value":[{"kind":"identifier","text":"ARFaceGeometry"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceGeometry~1init(blendShapes:)\/title","value":"initWithBlendShapes:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.arkit~1documentation~1ARKit~1ARFaceGeometry~1init(blendShapes:)\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"initWithBlendShapes:"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1Foundation~1NSNumber\/fragments","value":[{"kind":"identifier","text":"NSNumber"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}