I think it helps to not be overly exhausted and to be a little bit on edge. For example, I can almost never control my dreams when I go to bed for the night, but when I nap in class, I can do it pretty well. After I take some test, I usually just put my head on the desk and catch a nap. I'm always a little bit worried that somebody will fuck with me or the teacher will get mad, ect. I feel like this makes me more aware and causes me to sleep very lightly. Whatever I'm thinking about when I drift off I will then dream about, and usually realize that I'm dreaming, allowing me to control it pretty well. Usually though I cant completely control it, only make the dream go off on ridiculous tangents that have little to do with the original thoughts. Same for anybody else?