Tag: 3d

如何将二维点转换为三维使用SceneKit的unprojectPoint没有深度值?

是否可以使用SceneKit的unprojectPoint将2D点转换为3D而不具有深度值? 我只需要在XZ平面中find3D位置。 因为我没有使用它,所以Y可以是0或者任何值。 我正在尝试为iOS 8 Beta做这个。 我有类似的JavaScript和Three.js(WebGL)是这样的: function getMouse3D(x, y) { var pos = new THREE.Vector3(0, 0, 0); var pMouse = new THREE.Vector3( (x / renderer.domElement.width) * 2 – 1, -(y / renderer.domElement.height) * 2 + 1, 1 ); // projector.unprojectVector(pMouse, camera); var cam = camera.position; var m = pMouse.y / ( pMouse.y – cam.y […]

iOS上的Autocad格式查看器

我想能够在iOS中的UIView中呈现autocad DWF和/或DWG文件。 Autodesk有一个基于mac的库,但它没有iOS支持。 有任何想法吗? 谢谢!

SceneKit修改3D对象并导出文件

在我的应用程序中,我使用SceneKit框架在SCNView中显示3D对象,并导出修改后的文件,如颜色,温度等一些小的变化。但是我将原始文件导出到文档文件夹后。 在这里,我可以显示和做一些3D对象的修改,这看起来不错,我可以看到模拟器中SCNView的变化。 sceneView = [[SCNView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height – 100)]; [sceneView setBackgroundColor:[UIColor orangeColor]]; [self.view addSubview:sceneView]; sceneView.allowsCameraControl = true ; // Load 3D object NSString *path = [[NSBundle mainBundle] pathForResource:@“test” ofType:@"obj"]; NSURL * url = [NSURL fileURLWithPath:path]; scene = [SCNScene sceneWithURL:url options:nil error:nil]; sceneView.scene = scene ; // Processing— SCNLight *light =[[SCNLight alloc] init]; […]

SceneKit:关于使用Tron灯光周期来重现发光的光迹的build议

目标是在SceneKit中重现类似于下面的图像的光迹。 步道不需要如此详细,但是想法是达到类似的视觉效果。 我们尝试使用0.5左右不透明度的薄立方体。 我们连在一起200左右,并附加到一个节点作为一个光线。 那根本就不是高性能的。 这篇文章build议使用粒子发射器,但是当另一个物体碰到轨迹时,我们也需要检测碰撞。 类文件说,与粒子发射器的碰撞检测也不performance。 任何build议,以最好的方式来模拟一个类似的光迹? 一些考虑: 1)就像在Tron游戏中一样,这些光迹将长得更长。 对于基本的边界,假设将有2000 – 4000个节点损害这些光迹(每个玩家大约200个)。 我们可以把FPS降到30左右。 2)这些轨迹是否与来自devise者的图像/网格更好地组合,或者将它们构造出SCNShapes? 3)光迹必须能够检测到碰撞。 谢谢您的帮助!

animation面部图像 – 使用翘曲?

我打算做一个类似的应用程序,如在Android和iPhone下面的一个。 http://www.motionportrait.com/en/technology/ 我试过了什么? 1)我尝试使用图像变形技术来制作expression式,我已经达到了相当的准确度。 这是结果图像 。 2)我也试过opengl +纹理映射,我不能得到更好的准确性。 我在哪里卡住了? 我不喜欢脸部旋转等一些东西。 有人可以引导我通过这个应用程序背后的技术,以及如何进一步从这里? input:input到我的应用程序是一个2D正面图像。 预期输出:脸部旋转的脸部和表情。

glkView:drawInRect:和glkViewControllerUpdate之间的区别? OpenGL ES 2 – iOS

在我的渲染循环中,这两个方法之间应该有什么区别,明智的目的? 苹果有这个说…. 关于update() 视图控制器调用它的委托的glkViewControllerUpdate:方法。 您的委托应更新帧数据,而不涉及将结果呈现在屏幕上。 关于drawInRect: GLKView对象将其OpenGL ES上下文作为当前上下文,并绑定其帧缓冲区作为OpenGL ES渲染命令的目标。 你的委托方法应该绘制视图的内容。 所以基本上,当我在我的视图控制器中创build一个GLKView,该控制器成为delate,所以我正在看这些方法并排。 我认为update()应该包含任何转换或其他逻辑。

将SDL的视图embeddedUIViewController

我在iOS上看到的一些SDL演示,所有渲染发生在SDL_Window而不是UIWindow 。 但是,由于大多数iOS应用程序是基于单个UIWindowbuild模的。 我想将iOS与SDL集成,并将SDL的窗口(或SDL的视图)embedded到UIViewController视图中。 这是如何完成的? 我已经在这里发布我的问题,也看到下面的评论 michelleC说明以下,但我不知道如何编码michelleC提到的。 我无权在论坛上发帖/回复。 我很容易掌握sdl窗口,并添加视图控制器,或获得封装sdl视图,并将其添加到视图控制器。 到目前为止,我所做的是修改SDL_uikitviewcontroller.m以重新定位/调整SDL_Window视图的大小: – (void)viewDidLayoutSubviews { CGRect newFrame = self.view.frame; newFrame.size.height = newFrame.size.height – 100; newFrame.size.width = newFrame.size.width – 50; newFrame.origin.x = 25.0f; self.view.frame = newFrame; SDLUIKitDelegate *appDelegate = [SDLUIKitDelegate sharedAppDelegate]; [appDelegate embedView:self.view]; } 然后我把这个视图传递给SDL_uikitappdelegate.m中的一个函数,在这里它将SDL_Window的视图作为UIViewController的子视图。 但是,我遇到的错误。 – (void) embedView:(UIView*)vw { [vw removeFromSuperview]; CGRect frame = vw.frame; frame.origin.x = […]

3D可旋转的立方体与两侧可点击的区域

我想要完成的是带有3D旋转立方体的iPad应用程序,并且在立方体的每一侧我想要定义多个区域,在这些区域中,一旦点击就会进入另一个视图或显示一个popup窗口。 这可以通过一些从头开始在Xcode中使用OpenGL ES来实现,或者我应该使用3D框架,如果是的话,那么最简单的框架是什么? (我只听说过Unity和它相当昂贵的) 有没有人有一个很好的教程,我学习如何做到这一点? 我已经尝试过3D CSS3转换,但是我想把它作为最后的手段。

在Unity 3D中使用触摸input在地形上移动摄像机

我是Unity的新手,我正试图弄清楚如何使用触摸input在地图/地形上移动摄像头。 相机将会以(90,0,0)的旋转向下看地形。 地形是在第8层。我已经没有问题让它随键盘移动,现在我试图移动触摸,这是非常不同的,如果你想保持预期的使用在iOS上。 在iOS应用程序中我可以想到的最好的例子是地图,用户可以触摸屏幕,只要手指停留在屏幕上,地图上的那个点就会留在手指的下面。 所以当用户移动他们的手指时,地图似乎是随着手指移动的。 我一直没有find能够说明如何去做的例子。 我已经看到可能会用鼠标移动相机或angular色的例子,但他们似乎不能很好地转换这种风格。 也发布在Unity3D上答案: http://answers.unity3d.com/questions/283159/move-camera-over-terrain-using-touch-input.html

将图像转换为SceneKit节点

我有一个位图图像: (但是,这应该与任何任意图像工作) 我想把我的形象,并使其成为一个3D SCNNode。 这个代码我已经完成了很多。 这需要图像中的每个像素,并创build一个具有SCNBox几何的SCNNode。 static inline SCNNode* NodeFromSprite(const UIImage* image) { SCNNode *node = [SCNNode node]; CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(image.CGImage)); const UInt8* data = CFDataGetBytePtr(pixelData); for (int x = 0; x < image.size.width; x++) { for (int y = 0; y < image.size.height; y++) { int pixelInfo = ((image.size.width * y) + x) […]