private void InitializeModels() { // create Main Model group - light and transforms for all sub model groups go here _MainGroup = new Model3DGroup(); // Create default Transform collection // Add transform collection to the _MainGroup _GroupScaleTransform = new ScaleTransform3D(new Vector3D(1, 1, 1)); _GroupRotateTransformY = new RotateTransform3D( new AxisAngleRotation3D(new Vector3D(0, 1, 0), 0), new Point3D(0, 0, 0)); _GroupTranslateTransform = new TranslateTransform3D(new Vector3D(0, 1, 0)); Transform3DCollection tcollection = new Transform3DCollection(); tcollection.Add(_GroupScaleTransform); tcollection.Add(_GroupRotateTransformY); tcollection.Add(_GroupTranslateTransform); // setup group transform Transform3DGroup tGroupDefault = new Transform3DGroup(); tGroupDefault.Children = tcollection; _MainGroup.Transform = tGroupDefault; // Create sub model group [0] for the light // _ModelLights = new Model3DGroup(); AmbientLight light1 = new AmbientLight(Colors.White); _ModelLights.Transform = tGroupDefault.Clone(); _ModelLights.Children.Add(light1); _MainGroup.Children.Add(_ModelLights); _ModelItems = new Model3DGroup(); _MainGroup.Children.Add(_ModelItems); }