Aspose.3D for .NET logo

We are pleased to announce the availability of new version 17.9 of Aspose.3D for .NET API. The new version 17.9 of the API has been released with the support of rendering 3D scenes in Panorama mode with depth and also enhanced the way of binding the animation curve. We have enhanced the API usage by incorporating new features, enhancements and regular bug fixes.

Render 3D Scene in Panorama Mode with Depth

With the help of Aspose.3D for .NET API, developers can render 3D scenes in Panorama mode with depth. In order to achieve this, developers can define a vertex shader with custom script. In following help topic, we have created a camera, two light objects, define vertex shader and define position to render the depth map: Render 3D Scene with Panorama Mode in Depth

Bind Animation Curve to the Specified Channel

The BindCurve member of the CurveMapping class allows to create the curve on the component of the animation property. In the past versions, we were using Curve class to do this and now we have enhanced the way of the binding curve to the specified channel.

Before the version 17.9 to create animation manually, we use:

//create a curve mapping on cube node's transform object, the curve manipulates the property 'Scale'var scale = anode.CreateCurveMapping(cube1.Transform, "Scale");// Create the animation curve on Y component of the scale Curve scaleYCurve = scale.CreateCurve("Y");//let cube1.Transform.Scale.Y to be 1.0f at 0th sec using bezier interpolationscaleYCurve.CreateKeyFrame(0, 1.0f, Interpolation.Bezier);//let cube1.Transform.Scale.Y to be 2.0f at 2th sec using bezier interpolationscaleYCurve.CreateKeyFrame(2, 2.0f, Interpolation.Bezier);//let cube1.Transform.Scale.Y to be 0.2f at 5th sec using linear interpolationscaleYCurve.CreateKeyFrame(5, 0.2f, Interpolation.Linear);//let cube1.Transform.Scale.Y to be 1.0f at 8th sec using bezier interpolationscaleYCurve.CreateKeyFrame(8, 1.0f, Interpolation.Bezier);

In the recent version 17.9, we can implement the same task using the syntax sugar:

//create a curve mapping on cube node's transform object, the curve manipulates the property 'Scale'var scale = anode.CreateCurveMapping(cube1.Transform, "Scale");// Create the animation curve on Y component of the scale scale.BindCurve("Y", new Curve(){ //let cube1.Transform.Scale.Y to be 1.0f at 0th sec using bezier interpolation {0, 1.0f, Interpolation.Bezier}, //let cube1.Transform.Scale.Y to be 2.0f at 2th sec using bezier interpolation {2, 2.0f, Interpolation.Bezier}, //let cube1.Transform.Scale.Y to be 0.2f at 5th sec using linear interpolation {5, 0.2f, Interpolation.Linear}, //let cube1.Transform.Scale.Y to be 1.0f at 8th sec using bezier interpolation {8, 1.0f, Interpolation.Bezier}});

The following help topic narrates how to add an animation property in a 3D scene: Add Animation Property to 3D Scene Document

Public .NET 3D API Changes

The following API changes in the new version are also worth noticing:

  • CreateAnimationClip member to Aspose.ThreeD.Scene class has been added. It helps in creating animations.
  • CreateAnimationNode member to Aspose.ThreeD.Animation.AnimationClip class has been added. It helps in creating the animation node.
  • The two Add and one GetEnumerator members to Aspose.ThreeD.Animation.Curve class have been added. All these members help in creating key frames.
  • BindCurve member to Aspose.ThreeD.Animation.CurveMapping class has been added. This will bind the curve data on an existing channel in CurveMapping.
  • ShaderSet and PresetShaders members to Aspose.ThreeD.Render.Renderer class have been added. These members help to control the render effects.
  • Aspose.ThreeD.Render.PresetShaders class has been added. It defines the preset internal shaders used by the renderer.
  • Aspose.ThreeD.Render.ShaderSet class has been added. It helps in customizing the ShaderProgram used by each different materials to fully take control of the final render result.

Aspose.3D for .NET Resources

The following resources will help you work with Aspose.3D for .NET:

We hope you will enjoy this new release that save time and huge efforts for related files manipulation. The API is quite simple and can easily be used in any application.