我在移动应用中显示3D(.obj和.stl)对象。
对于显示3D对象,我正在使用version: '2'
services:
rabbitmq: #service A
#...
handler: #service B
image: thethingsnetwork/ttn:latest
command: handler --config /etc/ttn/handler/conf.yml
depends_on:
- discovery
- redis
- rabbitmq
networks:
default:
aliases:
- handler.local
ports:
- "1904:1904"
- "8084:8084"
volumes:
- "$HOME/host/handler:/etc/ttn/handler"
node-red: #service C
build: $HOME/host/nodeRed
volumes:
- /var/lib/docker/node-red/:/root/.node-red/
depends_on:
- handler
- rabbitmq
- broker
ports:
- "1880:1880"
- "5044:5044" #mapping logs
SceneKit Framework.
现在我的要求是根据用户手势改变3D对象的宽度和高度。
我试图在我的SceneView对象中执行此操作,但无法更改宽度和高度。
任何人都可以帮我这个。
我欢迎你的建议和指导。
先谢谢。
答案 0 :(得分:3)
在3D场景中有两种方法可以做到这一点:
<强> 1。使用相机,更改变焦/镜头长度和/或移动
缩放通常以镜头长度或视野来描述。放大的虚拟长度越大,缩小越小。相反,较大的视野会缩小,较小的视野会放大。
Dollying是根据与主体的距离来调整相机位置的过程;正在看的那个。距离越远,物体越小,越大。
<强> 2。缩放对象
这很简单。但是对于一个手势来说似乎很奇怪,因为只有一个物体会出现变化。如果您正在制作3D编辑应用,这可能就是您想要的。否则你可能想要移动和/或缩放相机。
答案 1 :(得分:2)
首先,如果这种情况过于简单,请道歉。我写的是关于如何缩放,移动或定位3D文件,而不知道您对Xcode的熟悉程度;查看和操作scnassets文件夹中的项目。最后一点需要注意的是,我不使用obj文件,但假设(希望,真的)可以在Xcode中编辑它们,就像dae文件一样。
打开Project Navigator(⌘1)并查找(希望)存在且包含obj文件的scnassets文件夹。从scnassets文件夹中,选择您的obj文件,您的对象应出现在编辑器中。打开“场景图”视图,然后选择需要调整宽度和高度的节点。在Utilities视图的Node Inspector(⌥⌘3)中,您将看到可以更改的节点的多个功能,其中一个功能是Scale。在“缩放”下,您将看到要更改的节点的边界框尺寸。
如果您需要一次重新缩放多个节点,我建议使用Scene Graph视图下的+符号创建子节点,然后移动需要重新缩放(或移动或重定向)的节点进入子节点,然后将该子节点重新调整为您需要的大小。
另外,作为预防措施,请在每次更改后保存到您的obj文件。 Xcode 8.2.1更加稳定,但是每次更改后8.2会崩溃,或者dae / scn文件会发生两次变化。希望所有这些都有所帮助。