public PassThroughWrapper(TransformableSceneObject target) { this.target = target; }
public SceneFrameWrapper(Scene scene, TransformableSceneObject target) { this.parentScene = scene; this.target = target; }
public void Create(Scene parentScene, TransformableSceneObject target) { this.parentScene = parentScene; this.target = target; this.parentScene.SelectionChangedEvent += OnSceneSelectionChanged; gizmo = new GameObject("TransformGizmo"); float fAlpha = 0.5f; xMaterial = MaterialUtil.CreateTransparentMaterial(Color.red, fAlpha); yMaterial = MaterialUtil.CreateTransparentMaterial(Color.green, fAlpha); zMaterial = MaterialUtil.CreateTransparentMaterial(Color.blue, fAlpha); x = AppendMeshGO("x_translate", (Mesh)Resources.Load("meshes/transform_gizmo_x", typeof(Mesh)), xMaterial, gizmo); Widgets [x] = new AxisTranslationWidget(0, parentScene); y = AppendMeshGO("y_translate", (Mesh)Resources.Load("meshes/transform_gizmo_y", typeof(Mesh)), yMaterial, gizmo); Widgets [y] = new AxisTranslationWidget(1, parentScene); z = AppendMeshGO("z_translate", (Mesh)Resources.Load("meshes/transform_gizmo_z", typeof(Mesh)), zMaterial, gizmo); Widgets [z] = new AxisTranslationWidget(2, parentScene); rotate_x = AppendMeshGO("x_rotate", (Mesh)Resources.Load("meshes/axisrotate_x", typeof(Mesh)), xMaterial, gizmo); Widgets [rotate_x] = new AxisRotationWidget(0, parentScene); rotate_y = AppendMeshGO("y_rotate", (Mesh)Resources.Load("meshes/axisrotate_y", typeof(Mesh)), yMaterial, gizmo); Widgets [rotate_y] = new AxisRotationWidget(1, parentScene); rotate_z = AppendMeshGO("z_rotate", (Mesh)Resources.Load("meshes/axisrotate_z", typeof(Mesh)), zMaterial, gizmo); Widgets [rotate_z] = new AxisRotationWidget(2, parentScene); // plane translation widgets translate_xy = AppendMeshGO("xy_translate", (Mesh)Resources.Load("meshes/plane_translate_xy", typeof(Mesh)), zMaterial, gizmo); Widgets [translate_xy] = new PlaneTranslationWidget(2, parentScene); translate_xz = AppendMeshGO("xz_translate", (Mesh)Resources.Load("meshes/plane_translate_xz", typeof(Mesh)), yMaterial, gizmo); Widgets [translate_xz] = new PlaneTranslationWidget(1, parentScene); translate_yz = AppendMeshGO("yz_translate", (Mesh)Resources.Load("meshes/plane_translate_yz", typeof(Mesh)), xMaterial, gizmo); Widgets [translate_yz] = new PlaneTranslationWidget(0, parentScene); // disable shadows on widget components foreach (var go in GameObjects) { go.GetComponent <MeshRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; } eCurrentFrameMode = FrameType.LocalFrame; SetActiveFrame(eCurrentFrameMode); int nWidgetLayer = LayerMask.NameToLayer(SceneGraphConfig.WidgetOverlayLayerName); foreach (var go in GameObjects) { go.layer = nWidgetLayer; } }