Ryan O’Hearn and Salvador Perez homered as the Kansas City Royals defeated the Texas Rangers 3-2 in an abbreviated Cactus League opener for both clubs.