Unvisualize Parsons code
CJam, 21 bytes
qN/:.e&gt;(o2%:i&quot;DRXU&quot;f=

Fold the lines (:) by vectorizing (.) a character-wise maximum operation e&gt;. Since there is only one non-space character in each column, this one will be the result, as space has a smaller ASCII code than all printable non-space characters.
Unshift and print the first asterisk (o, then map every other (2%) remaining char to UDR using modular indexing.
Old solution (29 bytes)
'*qN/z2%'*f#0+2ew);::-&quot;RDU&quot;f=

qN/ gets input lines. z transposes this character matrix. 2% drops every odd row. '*f# finds the index of the asterisk in each row. 0+2ew); gets all successive pairs of indices. ::- computes their differences, and &quot;RDU&quot;f= maps them to letters (via modular indexing: 0 → R, 2 → U, -2 ≡ 1 → D). The leading '* prepends the asterisk.
EDIT: I changed 2ew to 0+2ew); to work around CJam not handling ew (successive slices) on lists that are too short. This makes the code work for the input string *.
Try it here, or watch it in action: