// 填充時轉向
    protected virtual void RotateToDefenseSide( UnitData _unitData )
    {
        Vector3 vecToTarget = Vector3.zero ;
        Vector3 norVecToTarget = Vector3.zero ;
        float angleOfTarget = 0.0f ;
        float dotOfUp = 0.0f ;

        Vector3 shieldWeightDir = _unitData.FindShieldWeightDirection() ;
        if( shieldWeightDir != Vector3.zero )
        {
            // Debug.Log( "shieldWeightDir" + shieldWeightDir ) ;
            if( true == MathmaticFunc.FindTargetRelationWithForward( this.gameObject ,
                                                         shieldWeightDir ,
                                                         m_TargetNow.Obj.transform.position ,
                                                         ref vecToTarget ,
                                                         ref norVecToTarget ,
                                                         ref angleOfTarget ,
                                                         ref dotOfUp ) )
            {
                // angular speed
                _unitData.AngularRatioHeadTo( angleOfTarget ,
                                             dotOfUp ,
                                             0.1f ) ;

            }

        }
    }