视口 (Viewport) 节点可用于设置要投射内容到其上的渲染目标表面的尺寸。
2D 视口 (Viewport 2D) 是一个特殊的节点,因为它可以渲染 2D 对象,例如图像 (Image)、页面 (Page)、2D 按钮 (Button 2D)和 3D 对象场景 (Scene)。新建 Kanzi Studio 工程时,该工程有一个2D 视口 (Viewport 2D),具有包含摄像机 (Camera) 和方向光 (Directional Light) 的场景 (Scene)。
要创建 2D 视口 (Viewport 2D) 节点:
您可以控制Kanzi 如何使用前景提示 (Foreground Hint) 属性渲染2D 视口 (Viewport 2D) 节点:
您可以控制 Kanzi 如何渲染 2D 视口 (Viewport 2D) 节点。请参阅控制 Kanzi 如何渲染 2D 视口 (Viewport 2D) 节点。
要设置 2D 节点的外观:
要创建 2D 视口节点、将其附加到 RootPage 并将其添加到场景或 2D 内容中:
//创建一个名为 Viewport 2D 的 2D 视口并将其添加到 RootPage。 Viewport2DSharedPtr viewport2d = Viewport2D::create(domain, "Viewport 2D"); rootNode->addChild(viewport2d); //要在 2D 视口中渲染 3D 节点,您需要为 2D 视口添加一个场景。 //创建一个名为 Scene for 3D nodes 的场景并将其添加到 2D 视口中。 SceneSharedPtr sceneNode = Scene::create(domain, "Scene for 3D nodes"); viewport2d->setScene(sceneNode); //创建一个名为 Camera 的摄像机并将其添加到场景中。 CameraSharedPtr camera = Camera::create(domain, "Camera"); sceneNode->addChild(camera); //创建一个名为 Point light 的点光源并将其添加到场景中。 LightSharedPtr light = Light::createPoint(domain, "Point light"); sceneNode->addChild(light); //创建一个名为 Box 的方框网格并将其添加到场景中。 Model3DSharedPtr box = Model3D::createCube(domain, "Box", 1.0f, ThemeBlue); sceneNode->addChild(box);
有关详细信息,请参阅 API reference中的 Viewport2D
类。
要查看 2D 视口 (Viewport 2D) 节点可用属性类型和消息的列表,请参阅 Viewport 2D。