The original gallery execution function comes from here
wp-content/plugins/woocommerce/includes/class-wc-frontend-scripts.php
$params = array(
'i18n_required_rating_text' => esc_attr__( 'Please select a rating', 'woocommerce' ),
'review_rating_required' => get_option( 'woocommerce_review_rating_required' ),
'flexslider' => apply_filters(
'woocommerce_single_product_carousel_options', array(
'rtl' => is_rtl(),
'animation' => 'slide',
'smoothHeight' => true,
'directionNav' => false,
'controlNav' => 'thumbnails',
'slideshow' => false,
'animationSpeed' => 500,
'animationLoop' => true, // Breaks photoswipe pagination if true.
'allowOneSlide' => false,
)
),
);
So we can use a filter and put it to functions.php of the active theme as like
add_filter( 'woocommerce_single_product_carousel_options', 'customslug_single_product_carousel_options', 99, 1 );
function customslug_single_product_carousel_options( $options ) {
$options['animation'] = 'fade';
$options['animationSpeed'] = 400;
$options['directionNav'] = true;
return $options;
}