Lopez was apparently involved in a spontaneous argument over paperwork Wednesday in a human resources office.
The witnesses said the military truck driver asked for a leave-of-absence application but was told to return for it the next day. He became exasperated during the incident.
Lopez left and returned moments later with a .45-caliber Smith & Wesson semiautomatic pistol and opened fire on members of his unit, the 49th Transportation Battalion, the Washington Post reported. He killed two people.
He then left the building and began shooting at other soldiers, eventually killing one other person.
He tried to leave the base in his vehicle but was confronted by a military police officer in a parking lot. Lopez then shot himself in the head, taking his own life.
Still, investigators said they don't know the reason for Lopez's actions.
“We have not established a concrete motive, but we will do everything in our power to do so,” Christopher P. Grey, a spokesman for the Army Criminal Investigation Command, said at a news conference at Fort Hood. “Given that the alleged shooter is deceased, the possibility does exist that we may never know exactly why the alleged shooter did what he did.”