Post-doc positions in Mechanical Engineering
Context: I'm not in mechanical engineering, but am a potential post doc advisor.

Remember: ootential advisors are (almost) always on the lookout for good people, even when they don't have money to hire them, because they always have grants submitted, so any time soon they may receive another grant.

It is fine to contact potential advisors directly, but beware that they will receive many such emails, including many that are easily considered as SPAM, due to their impersonal and indirect nature. This means that your emails need to be personal, and they need to quickly establish what you do and what value you could be to the potential advisor, for instance by finding a real connection with their research. 

Having a concrete research proposal is also a valuable idea, but beware that a potential advisor may not be interested in supervising a topic that is outside their core research focus.

Contacting a potential advisor 3 months in advance would put you in the running for any positions that the advisor may have open.

Contacting a potential advisor 6 months in advance might be a way of putting your name in the advisor's mind, but it would probably be too early to actually get a position. That said, the advisor may have applied for some funding, and this may come available after those 6 months. Then having your name in the advisor's mind would be a good thing.

Contacting a potential advisor 12 months before you finish might be useful if there is a funding opportunity that you both could apply for.

Of course, contacting the potential advisor 3 months before you finish might lead to an opportunity 12 months down the track, and so on.