Michael - I visited Lucerne last month. We ended up buying a Tell-Pass, which covered the Lucerne area roughly as far as Zug in the east, Interlaken in the west and Andermatt in the south. It was GBP95 p/p for a 7 day pass (2 days free + 5 days half price).
It includes local train, bus, boat and many of the mountain railways. Just by visiting Pilatus and Rigi I more than made the money back. We also made an extremely pleasant trip on the Glacier Express to and from Meirengen. There are other durations available:
http://www.tell-pass.ch/en/travel-start.html
For the journey from Zurich, have you considered the "supersaver tickets" available from SBB? They can be much cheaper then the normal fares. They're fixed date tickets, which must be bought online. You then print off the tickets yourself.