Beispiel #1
0
 /// <summary>
 /// Crea una línea en base a sus puntos extremos
 /// </summary>
 /// <param name="start">Punto de inicio</param>
 /// <param name="end">Punto de fin</param>
 /// <returns>Línea creada</returns>
 public static TgcLine fromExtremes(Vector3 start, Vector3 end)
 {
     TgcLine line = new TgcLine();
     line.pStart = start;
     line.pEnd = end;
     line.updateValues();
     return line;
 }
Beispiel #2
0
        /// <summary>
        /// Crea una línea en base a sus puntos extremos
        /// </summary>
        /// <param name="start">Punto de inicio</param>
        /// <param name="end">Punto de fin</param>
        /// <returns>Línea creada</returns>
        public static TgcLine fromExtremes(Vector3 start, Vector3 end)
        {
            TgcLine line = new TgcLine();

            line.pStart = start;
            line.pEnd   = end;
            line.updateValues();
            return(line);
        }
        /// <summary>
        /// Crea mallas a modo Debug para visualizar la configuración del esqueleto
        /// </summary>
        public void buildSkletonMesh()
        {
            //Crear array para dibujar los huesos y joints
            Color jointsColor = Color.Violet;
            Color bonesColor = Color.Yellow;
            Vector3 jointsSize = new Vector3(2, 2, 2);
            Vector3 ceroVec = new Vector3(0, 0, 0);
            skeletonRenderJoints = new TgcBox[bones.Length];
            skeletonRenderBones = new TgcLine[bones.Length];
            int boneColor = Color.Yellow.ToArgb();

            //Actualizar jerarquia
            for (int i = 0; i < bones.Length; i++)
            {
                TgcSkeletalBone bone = bones[i];

                //Es hijo o padre
                if (bone.ParentBone == null)
                {
                    skeletonRenderBones[i] = null;
                }
                else
                {
                    //Crear linea de hueso para renderziar esqueleto
                    TgcLine boneLine = new TgcLine();
                    boneLine.PStart = TgcVectorUtils.transform(ceroVec, bone.MatFinal);
                    boneLine.PEnd = TgcVectorUtils.transform(ceroVec, bone.ParentBone.MatFinal);
                    boneLine.Color = bonesColor;
                    skeletonRenderBones[i] = boneLine;
                }
                //Crear malla de Joint para renderizar el esqueleto
                TgcBox jointBox = TgcBox.fromSize(jointsSize, jointsColor);
                jointBox.AutoTransformEnable = false;
                skeletonRenderJoints[i] = jointBox;
            }
        }