{"action":"opened","issue":{"url":"https://api.github.com/repos/sortofsleepy/ofxARKit/issues/55","repository_url":"https://api.github.com/repos/sortofsleepy/ofxARKit","labels_url":"https://api.github.com/repos/sortofsleepy/ofxARKit/issues/55/labels{/name}","comments_url":"https://api.github.com/repos/sortofsleepy/ofxARKit/issues/55/comments","events_url":"https://api.github.com/repos/sortofsleepy/ofxARKit/issues/55/events","html_url":"https://github.com/sortofsleepy/ofxARKit/issues/55","id":336055765,"node_id":"MDU6SXNzdWUzMzYwNTU3NjU=","number":55,"title":"Implement Scanning of Objects","user":{"login":"aferriss","id":3698659,"node_id":"MDQ6VXNlcjM2OTg2NTk=","avatar_url":"https://avatars3.githubusercontent.com/u/3698659?v=4","gravatar_id":"","url":"https://api.github.com/users/aferriss","html_url":"https://github.com/aferriss","followers_url":"https://api.github.com/users/aferriss/followers","following_url":"https://api.github.com/users/aferriss/following{/other_user}","gists_url":"https://api.github.com/users/aferriss/gists{/gist_id}","starred_url":"https://api.github.com/users/aferriss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aferriss/subscriptions","organizations_url":"https://api.github.com/users/aferriss/orgs","repos_url":"https://api.github.com/users/aferriss/repos","events_url":"https://api.github.com/users/aferriss/events{/privacy}","received_events_url":"https://api.github.com/users/aferriss/received_events","type":"User","site_admin":false},"labels":[{"id":663806083,"node_id":"MDU6TGFiZWw2NjM4MDYwODM=","url":"https://api.github.com/repos/sortofsleepy/ofxARKit/labels/help%20wanted","name":"help wanted","color":"128A0C","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-27T02:31:29Z","updated_at":"2018-06-27T02:31:29Z","closed_at":null,"author_association":"COLLABORATOR","body":"Implement the [ARObjectScanningConfiguration](https://developer.apple.com/documentation/arkit/arobjectscanningconfiguration?language=objc) for an arkit session. This is it's own configuration type and should only be used for apps that are actively doing scanning (says apple).\r\n\r\nIn order to scan something you need to first define a boundary cube around it. We need a transform representing a local coordinate system of the object. An extent measuring the width, height, and depth of the object. Lastly, a center point relative to the origin of the transform. In the examples I've seen they use a gui with a semi transparent cube alongside the horizontal plane detector. This way you can position your cube directly on what you'd like to scan. Once you have all that you can call [this very long method](https://developer.apple.com/documentation/arkit/arsession/3001731-createreferenceobjectwithtransfo?language=objc). That method should return the [reference object](https://developer.apple.com/documentation/arkit/arreferenceobject?language=objc) that can be saved and used to detect the object within another app.\r\n\r\nI think we should definitely include a sample app that just does scanning as a utility. The app should probably let users save both the reference object file and the usdz model generated during the scan (Though I haven't yet seen how to access the raw 3d information from the reference object).\r\n\r\nHere's [apple's sample app](https://developer.apple.com/documentation/arkit/scanning_and_detecting_3d_objects?language=objc) and another [demo from unity](https://www.youtube.com/watch?v=LRjKTQZjK0E)\r\n"}}
{"actor":{"display_login":"aferriss"}}