나는 참가자가 각 손에 위치 데이터를 가지고 데이터가 :R : 하나의 rgl 캔버스에서 여러 3D 오브젝트를 애니메이트하는 방법?
왼쪽 : 오른쪽 :
위치 데이터는 초기 질문이었다 시간 t
에서
pos.x
pos.y
pos.z
있다 OBJ를 가져 와서 RGL과 함께 작업하는 방법 : https://stackoverflow.com/posts/46626767/revisions
그 부분을 알아 냈습니다. 나는 오픈 소스 OBJ 파일을위한 rgl
메쉬 프레임 워크를 향상시키는 함수를 작성했다.
위치 데이터 https://gist.github.com/MonteShaffer/d142210cddf346c86aeab1ea2d1d7e9d는 손목 시계에 포착되어야한다, 그래서 각각 독립적으로 위치/시간을 기준으로 두 개 이상의 3D 데이터 객체를 표시하고 애니메이션화 할 수 있도록하려면 데이터.
즉, 손목 시계 영역이 적절하게 움직이는 강체와 같이 손을 다루십시오. https://gist.github.com/MonteShaffer/6c0057b1431364caf120220db77dde4b
나는 기본적인 그래프, 업데이트, 회전 알고있다 :
library(rgl)
mymesh = buildBasicMeshFromOBJ(parseFileOBJ("hand.OBJ"));
open3d()
shade3d(mymesh, col = "pink")
par3d(userMatrix = rotate3d(par3d("userMatrix"), 0.1, 1,0,0))
play3d(spin3d(axis = c(1, 0, 0)))
내 목표는 같은 RGL 캔버스에 여러 개체를 음모하는 것입니다
은 내가 hand.OBJ 파일을 온라인으로 배치했다.예컨대,
righthand = mymesh
lefthand = mymesh
head = buildBasicMeshFromOBJ(parseFileOBJ("head.obj"));
각 요소는 각 요소의 위치/시간 데이터에 기초하여 시간이 지남에 따라 애니메이션으로 독립적으로 이동할 수있다. 지금은 머리가 움직이지는 않지만 손목을 나타내는 자세로 각 손이 움직입니다.
애니메이션이 진행되는 동안 마우스 끌기가 여전히 (손과 머리 주위의 3D보기를 변경하기 위해) 발생할 수있는 보너스입니다.