AWS Sumerian에서 AR 앱 만들기
AWS Sumerian이란?
한 줄에
상금 총액 $10,000의 콘테스트로 작품을 모집중이라는 것
상금을 목표로 AR 앱을 만들기위한 기술 검증을 시도한 기사입니다.
참고 링크
htps : // / cs. 미안해. 아마조나 ws. 코 m / 쓰리 아 ls / c 레테 / 어서 r 메아 아테 / 아우 g 멘 테 d 어 아 ty- 우신 g 스메리 안 - 아 r t /
htps : // 콘텐트 t. 미안해. 아마조나 ws. 코 m / 엔기네 / ㄱ st / 두 cs /
개념
대체로 이런 책임 분할
특징
콘텐츠 업데이트 가능성
OS 특정 감지 기능 사용 가능
이미지 감지 구현
ImageTracking 내장 [ios]
샘플 코드는 ARWorldTrackingConfiguration으로 되어 있지만 iOS12에서 추가된 고속 화상 검지를 사용하고 싶은 경우는 ARImageTrackingConfiguration으로 바꾸는 것도 가능. 이쪽은 복수의 화상의 동시 검출도 가능.
htps : // 이 m / k 보 y / ms / d935b76 훗 d67 에 11b9fb2 # 속눈썹 t 등 c 킨 g
ViewController.swift
let configuration = ARWorldTrackingConfiguration()
configuration.detectionImages = referenceImages
configuration.planeDetection = .horizontal
configuration.isLightEstimationEnabled = true
return configuration
ViewController.swift
let configuration = ARImageTrackingConfiguration()
configuration.trackingImages = referenceImages
configuration.isLightEstimationEnabled = true
return configuration
감지용 이미지 설정 [XCode로 작업]
Assets에 이미지를 넣어
Assets 이름에서 referenceImages 생성
ViewController.swift
guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "AR Resources", bundle: nil) else {
fatalError("Missing expected asset catalog resources.")
}
테스트
이상으로 AR로 움직이게 될 것이므로 테스트합니다.
감지할 수 있었다
마무리
화면에서 탭한 포인트에서 Anchor 만들기
튜토리얼의 샘플 코드가 잘못되어 다음 수정이 필요합니다.
화면에서 탭한 곳과 검사하는 좌표가 상하 좌우 반대로 되어 있다
// Touch handler. Performs a hit test at the currrent screen location.
ctx.performHitTest = function(evt) {
var pixelRatio = ctx.world.sumerianRunner.renderer.devicePixelRatio;
var normalizedX = 1 - (evt.pageX * pixelRatio / ctx.viewportWidth);
var normalizedY = 1 - (evt.pageY * pixelRatio / ctx.viewportHeight);
arSystem.hitTest(normalizedX, normalizedY, ctx.hitTestCallback);
};
// Touch handler. Performs a hit test at the currrent screen location.
ctx.performHitTest = function(evt) {
var pixelRatio = ctx.world.sumerianRunner.renderer.devicePixelRatio;
var normalizedX = evt.pageX * pixelRatio / ctx.viewportWidth;
var normalizedY = evt.pageY * pixelRatio / ctx.viewportHeight;
arSystem.hitTest(normalizedX, normalizedY, ctx.hitTestCallback);
};
디버그 모드라면 Anchor에 Cube가 표시되므로 지우기
플래그를 false로 변경하면 됩니다.
ViewController.swift
createDebugNodes = false
결과 AR의 콘텐츠가 모두 표시되지 않는 버그를 발견했기 때문에
수정할 PR 생성(병합된 것 같습니다)
htps : // 기주 b. 코 m / 아 ws-sa mp ぇ s / 아마 존 - 스메리 앙 - 아 r ts r r r p / 푸 l / 8
요약
이상으로 최저한 AR의 컨텐츠를 접하기 위한 기술을 검증할 수 있었습니다.
이후에는 콘테스트를 향해 콘텐츠를 확충해 나갈 뿐입니다.
콘테스트의 마감은 2019/01/08이므로 거기까지 노력해 가고 싶습니다.
Reference
이 문제에 관하여(AWS Sumerian에서 AR 앱 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/iida-hayato/items/f96387473f88697c6995
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AWS Sumerian에서 AR 앱 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/iida-hayato/items/f96387473f88697c6995텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)