Upvote:2
Aprove answer
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
let nodeToReturn = SCNNode()
//1. Check We Have Detected Our Image
if let validImageAnchor = anchor as? ARImageAnchor {
//2. Log The Information About The Anchor & Our Reference Image
print("""
ARImageAnchor Transform = \(validImageAnchor.transform)
Name Of Detected Image = \(validImageAnchor.referenceImage.name)
Width Of Detected Image = \(validImageAnchor.referenceImage.physicalSize.width)
Height Of Detected Image = \(validImageAnchor.referenceImage.physicalSize.height)
""")
//3. Create An SCNPlane To Cover The Detected Image
let planeNode = SCNNode()
let planeGeometry = SCNPlane(width: validImageAnchor.referenceImage.physicalSize.width,
height: validImageAnchor.referenceImage.physicalSize.height)
planeGeometry.firstMaterial?.diffuse.contents = UIColor.white
planeNode.geometry = planeGeometry
//a. Set The Opacity To Less Than 1 So We Can See The RealWorld Image
planeNode.opacity = 0.5
//b. Rotate The PlaneNode So It Matches The Rotation Of The Anchor
planeNode.eulerAngles.x = -.pi / 2
//4. Add It To The Node
nodeToReturn.addChildNode(planeNode)
//5. Add Something Such As An SCNScene To The Plane
if let modelScene = SCNScene(named: "art.scnassets/model.scn"), let modelNode = modelScene.rootNode.childNodes.first{
//a. Set The Model At The Center Of The Plane & Move It Forward A Tad
modelNode.position = SCNVector3Zero
modeNode.position.z = 0.15
//b. Add It To The PlaneNode
planeNode.addChildNode(modelNode)
}
}
return nodeToReturn
}
Credit Goes to: stackoverflow.com
Related question with same questions but different answers
- CONVERT COORDINATES IN ARIMAGETRACKINGCONFIGURATION IN IOS
- HOW TO CONVERT NUMBER INPUTTED IN ANY LOCALE INSIDE A UITEXTFIELD INTO ENGLISH NUMBER IN IOS SWIFT IN IOS
- ANIMATED MOVEMENT OF LABEL TO SPECIFIED COORDINATES IN IOS
- UIALERT CANNOT CONVERT VALUE OF TYPE '(_) THROWS -> ()' TO EXPECTED ARGUMENT TYPE '((UIALERTACTION) -> VOID)?' IN IOS
- CANNOT CONVERT VALUE OF TYPE STRING TO SPECIFIED TYPE NSMANAGEDOBJECTCONTEXT, WHILE CONVERTING FROM SWIFT 2.3 -> 3.2 IN IOS
- HOW DO I CONVERT STRING TYPE DATA TO INTEGER TYPE DATA FROM FIREBASE DATABASE IN IOS & SWIFT LANGUAGE IN IOS
- CANNOT CONVERT VALUE OF TYPE '(CMDEVICEMOTION?, NSERROR?) -> ()' TO EXPECTED ARGUMENT TYPE 'CMDEVICEMOTIONH IN IOS
- IOS PROMISE 6 - CANNOT CONVERT VALUE OF TYPE '(_) -> ENVIRONMENT' TO EXPECTED ARGUMENT TYPE '(_) -> _' IN IOS
- HOW TO CONVERT STRING TO INT WITHOUT SKIP FIRST ZEROS'S SWIFT? IN IOS
- IN-APP PURCHASE IN APPLICATION IN IOS
- HOW DOES THIS SWIFT CODE WORK ??!! IN IOS
- HAVING 2 TEXTFIELD.DELAGATE = SELF CANCELS ONE OF THEM OUT IN IOS
- STATIC BARBUTTONITEMS IN A NAVIGATION CONTROLLER? IN IOS
- UIIMAGEVIEW IN UISCROLLVIEW DOES NOT ZOOM CORRECTLY IN IOS
- TRANSPORT DATA OVER TWO VIEWCONTROLLER IN IOS
- JENKINS IOS BUILD FOR BOTH SIMULATOR AND DEVICE IN IOS
- PREVENT POPPING VIEWS WHEN RESELECTING UITABBAR ITEM IN IOS
- SWIFT - NUMBERFORMATTER NUMBER FROM STRING RETURNS NIL FOR IPHONE 8 BUT WORKS FOR OTHER DEVICE IN IOS
- HOW TO USE SELECTOR ON OBJECT INSTANCE IN SWIFT IN IOS
- SWIFT - RESTARTING AN ANIMATION AFTER CLICKING A BUTTON IN IOS
- DETECTING TAP GESTURE THAT IS NOT ON A UISUBVIEW IN IOS
- DOWNLOAD VIEWCONTROLLER FROM URL IN IOS
- HOW TO DELETE CHILD RECORD FROM FIREBASE IN SWIFT? IN IOS
- HOW TO ADD PUSH NOTIFICATIONS ON IOS IN IOS
- GOOGLE VISION IMAGE LABELING API ERROR IN IOS
- SWIFT: IMAGE IN COLLECTION IN IOS
- XCODE 9 AND IONIC IOS APP BUILD FAILED IN IOS
- VUEJS: PREVENT BOUNCING AND ZOOMING ON IOS10+ WITH ROUTING IN IOS
- HOW TO CALL A SWIFT FUNCTION FROM JAVASCRIPT IN IOS
- HOW CAN I CREATE A CUSTOM TEXTCELL AND TEXTROW THAT HAS A SUBCLASS OF UITEXTFIELD IN IT? IN IOS
- JUMPING A VIEWCONTROLLER IN UINAVIGATIONCONTROLLER STACK IN IOS
- TINT COLOR WORKS WITH NATIVE COLORS BUT NOT WITH THE COLOR FROM PATTERN IMAGE IN IOS
- IOS 11.4 NOT ASKING PRIVACY USAGE ( PRIVACY - MOTION USAGE DESCRIPTION HAS BEEN SET ) IN IOS
- ALLOW APOSTROPHE, A DOT, AMPERSAND, DIGIT AND CHARACTERS IN REGEX C# IN IOS
- WHAT ARCHITECTURE SHOULD IT BE MY .A FOR RUNNING ON IOS DEVICE AND IOS SIMULATOR IN IOS
- KEEP THE HEIGHT/WIDTH OF UITEXTFIELD THE SAME ON IPAD AND IPHONE WITH AUTOLAYOUT IN IOS
- PRESENT VIEW CONTROLLER FROM ANOTHER STORYBOARD IN IOS
- CELL QUEUE SIZE IN UITABLE VIEW IN IOS
- VALUE OF TYPE 'AUTHDATARESULT' HAS NO MEMBER 'ISEMAILVERIFICATION' IN IOS
- BUNDLE.MAIN.PATH(FORRESOURCE:OFTYPE:INDIRECTORY:) RETURNS NIL WHEN DIRECTORY AND FILENAME ARE CORRECT IN IOS
- CONTAINERVIEW - HOW CLOSE INVISIBLE VIEW IN IOS
- MAP ADCLICK --> APPINSTALLATION USING FIREBASE IN IOS
- I WANT THE STATUS BAR TO BE VISIBLE DURING FULL SCREEN VIDEO PLAYBACK IN IOS
- UITABLEVIEW CELL BACKGROUND COLOR COLLAPSE WHEN SCROLL IN IOS
- AUTOSIZING UITABLEVIEWCELL PROGRAMATICALLY BASED ON CONTENT IN IOS
- PASS VALUE ONCE POPOVER TABLE VIEW IS DISMISSED IN SWIFT IN IOS
- PASSING DATA FROM UITABLEVIEWCELL IN IOS
- CAN ANDROID LIBRARY (JAR/AAR) BE USED FOR IOS IN XAMARIN IN IOS
- HOW TO GET A SET OF EKCALENDARS PROPERLY IN IOS
- SWIFT TABLE VIEW (CHAT UI) IF KEYBOARD WAS SHOWN, WHOLE VIEW GETTING LOWER IN IOS
- HOW TO DELETE ROW AT DYNAMIC TABLEVIEW SWIFT IN IOS
- HOW TO REPLACE THE CONTENTS OF A BUNDLED FILE IN IOS
- SWIFT 4: WHEN A USER CLICKS ON A UIBUTTON HOW DO I GRAB THE STRING THAT IS SELECTED IN A UICOLLECTIONVIEW? IN IOS
- CLOUDKIT QUERY FOR REFERENCE IN ARRAY IN IOS
- SAVING A OBJECT IN USERDEFAULTS AFTER REORDER OF ROWS IN TABLEVIEW IN IOS
- UIWEBVIEW DELEGATES DON'T FIRE IN A CUSTOM CLASS IN IOS
- UNABLE TO NAVIGATE TO SPECIFIC VIEWCONTROLLER AFTER CLICKING PUSH NOTIFICATION IN FOREGROUND USING FCM BELOW IOS 10 IN IOS
- DISABLE UIBUTTON AFTER UITEXTFIELD IS NO LONGER HIDDEN? IN IOS