The best way I can find currently is use
GetRaceAtlas() that is provided for the character creation screen. The atlas name generated can be applied using
texture:SetAtlas().
Here's an example:
Lua Code:
hooksecurefunc("UnitFramePortrait_Update",function(self)
if self.portrait then
if UnitIsPlayer(self.unit) then
self.portrait:SetAtlas(GetRaceAtlas(
select(2,UnitRace(self.unit)):lower()
,UnitSex(self.unit)==Enum.Unitsex.Male and "male" or "female"
,true
));
else
self.portrait:SetTexCoord(0,1,0,1);
end
end
end);