Browse our Products

Aspose.3D for .NET 26.4 Release Notes

Improvements and Changes

KeySummaryCategory
THREEDNET-1760Expose more animation related informationImprovement
THREEDNET-1757Matrix Decompose causes negative scalingBug fixing

API Changes

Added members to class Aspose.ThreeD.Animation.BindPoint:

	public System.Collections.Generic.ICollection<Aspose.ThreeD.Animation.AnimationChannel> Channels{ get;}

Channels exposed all internal channels from BindPoint.

Added members to class Aspose.ThreeD.Property:

	public Aspose.ThreeD.A3DObject Owner{ get;}
	public System.Collections.Generic.ICollection<Aspose.ThreeD.Animation.BindPoint> BindPoints{ get;}

Sample code

        /// <summary>
        /// Gets all bind points from specified object
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        private static IEnumerable<BindPoint> GetBindPointsFor(A3DObject obj)
        {
            foreach(var prop in obj.Properties)
            {
                foreach(var bp in prop.BindPoints)
                {
                    yield return bp;
                }
            }
        }
        var scene = Scene.FromFile(@"scene.FBX");
        //get property owner from property
        var obj = scene.AnimationClips[0].Animations[0].BindPoints[0].Property.Owner;
        var node = scene.RootNode.SelectSingleObject("Bip01");
        foreach(var bindPoint in GetBindPointsFor(obj))
        {
            //list all channels from bind point
            foreach(var ch in bindPoint.Channels)
            {
                Console.WriteLine(bindPoint.Name + "." + ch.Name);
            }
        }