ViewController 내에 일련의 이미지가 있습니다.iPhone에서 CoreMotion/DeviceMotion을 사용하여 이미지 플로팅 효과 시뮬레이션
내가 그들의 개별 레이어 변환하여 그들을 "부동"입니다 :이 레이어가 화면 위에 떠 만드는 효과 제공
img.layer.transform = CATransform3DMakeTranslation(0.0f, 0.0f, myZ);
- 시뮬레이터를, 인 (눈에 보이는 효과가 없을 것 옳은).
내가 원하는 것은 왼쪽/오른쪽/앞으로/뒤로 장치를 움직이면 레이어가 떠있는 것처럼 미묘하게 보일 때 효과가 있습니다. 장치를 왼쪽으로 기울이면 전체보기가 오른쪽으로 향해야합니다. 이렇게하면 기기를 움직이면 모서리를 볼 수 있습니다. 즉, Z- 색인에 따라 다른 비율로 이동하기 때문에 이미지가 화면 위에 실제로 떠 다니는 느낌을줍니다.
필자는 이것을 데모하는 샘플 프로젝트가있는 테스트 프로젝트 (project file here)를 만들었습니다.
제 문제는 제가 수학자가 아니기 때문에 미묘한 부유 효과를 시뮬레이트하는 가장 좋은 방법으로 고심하고 있습니다. 지금, 그때 않습니다 DeviceMotion의 리스너,있어이 내가 원하는 것과 매우 가까운
self.view.layer.sublayerTransform = CATransform3DMakeRotation(20.0f * M_PI/180.0f, 2*motion.attitude.pitch, -2*motion.attitude.roll, 0);
을하지만, 정확히 바로이 아니다.
이 효과는 다양한 응용 프로그램에서 사용될 수 있다고 생각합니다. 나는 이것을 친구에게로 확장하고 얼굴 탐지로 작업하고있다. (그래서 그것은 사람의 얼굴 움직임에 따라 부모보기를 움직일 것이다. 심지어 전화/장치를 완벽하게 유지하는 동안에도).
나는 사람들이 "OpenGL을 사용하는 것"이라고 대답 할 것이라고 생각합니다. 이 프로젝트에서 코드를 통합하는 방법을 보여주는 코드 조각을 게시하지 않는 한, 필요한 대답이 아닙니다. (해결할 새로운 문제를 찾고있는 게 아닙니다. :-)
전체 프로젝트는 현재 효과를보고 싶은 모든 사람들에게 (iphone floating views) 있습니다. (이것이 작동 중일 때 나는 후손을 위해 여기에 링크 된 전체 (작업중 인) 프로젝트를 남길 것이다.)
당신은 놀라워요. 이것은 매력처럼 작동합니다. 그리고 여러분은 정확하게 맞습니다 ... 저는 각도에 대한 오프셋을 조정할 것입니다.하지만 이것은 제가 정확히하려는 효과를 나타냅니다. 방금 작업 데모 프로젝트도 업로드했습니다. 감사합니다. –