public void Initialize(Cockpit cockpit) { Frame3 cockpitF = cockpit.GetLocalFrame(CoordSpace.WorldCoords); float fHUDRadius = 0.7f; Color bgColor = new Color(0.7f, 0.7f, 1.0f); Material bgMaterial = MaterialUtil.CreateTransparentMaterial(bgColor, 0.7f); Material primMaterial = MaterialUtil.CreateStandardMaterial(Color.yellow); HUDButton addCylinderButton = new HUDButton() { Radius = 0.08f }; addCylinderButton.Create(PrimitiveType.Cylinder, bgMaterial, primMaterial); Frame3 cylFrame = addCylinderButton.GetObjectFrame(); Frame3 cylHUDFrame = make_hud_sphere_frame(fHUDRadius, -45.0f, 0.0f); addCylinderButton.SetObjectFrame( cylFrame.Translated(cylHUDFrame.Origin) .Rotated(Quaternion.FromToRotation(cylFrame.Z, cylHUDFrame.Z))); addCylinderButton.OnClicked += (s, e) => { cockpit.Parent.Scene.AddCylinder(); }; cockpit.AddUIElement(addCylinderButton, true); HUDButton addBoxButton = new HUDButton() { Radius = 0.08f }; addBoxButton.Create(PrimitiveType.Cube, bgMaterial, primMaterial); Frame3 boxFrame = addBoxButton.GetObjectFrame(); Frame3 boxHUDFrame = make_hud_sphere_frame(fHUDRadius, -45.0f, -15.0f); addBoxButton.SetObjectFrame( boxFrame.Translated(boxHUDFrame.Origin) .Rotated(Quaternion.FromToRotation(boxFrame.Z, boxHUDFrame.Z))); addBoxButton.OnClicked += (s, e) => { cockpit.Parent.Scene.AddBox(); }; cockpit.AddUIElement(addBoxButton, true); }