在我的应用程序中,用户使用Core Graphics在屏幕上绘制2D矩形。他们释放鼠标后,我需要创建一个SCNPlane并将其以相同的屏幕尺寸和位置放置到我的SceneKit场景中。我计划将平面的z位置设置为远离相机恒定的值(假设距离相机10个单位)。
我遇到的问题是如何定位和缩放平面,使其看起来就像他们在Core Graphics中绘制的一样。顺便说一句,Core Graphics视图以相同的大小位于SceneKit视图的顶部。
我计划使用广告牌约束,以使飞机正确面向相机。
我确定要使用相机的属性来完成此操作,但是我不知道该怎么做。
答案 0 :(得分:0)
最好的选择是制作一个与屏幕对齐的容器,并对其原点和比例进行设置,以使您能够进行像素对齐并选择零零位置。
您的构建基块是sceneView.unprojectPoint和sceneView.frame
set.seed(0)
x<-matrix(rnorm(10),1)
dm<-diag(length(x))
# compute rank from order and backwards:
rank(x) == col(x)%*%dm[order(x),]
order(x) == col(x)%*%dm[rank(x),]
# in special cases like this
x<-cumsum(rep(c(2,0),times=5))+rep(c(0,-1),times=5)
# they are equal
order(x)==rank(x)