Not wanting to have sex because I dont feel attractive...

Please excuse the length of this but I have no one to talk to about this and need some help and advise and frankly to vent...I feel so bad...I have been with my boyfriend going on 4 YEARS! He knows me, loves me I am so comfortable with him and I am going to marry this man I love him with my whole heart. He is my soul mate my other half there  is nothing we dont share or do together...what Im trying to get at is we have a practically perfect relationship and a great sex life...normally. Lately I have been feeling so bad about my self I have put on a few pounds lately Im not over weight I know Im not fat but I have put on weight a good 20 pounds over the last year and for some reason the last couple weeks the way I feel about myself (heaver, not sexy, not the slightest bit attractive) has affected our sex life alot it hit me how bad the situation has gotten after tonight please excuse the gory details...but tonight after dinner I was taking a shower and my wonderful boyfriend decided he wated to shower with me so he got in and he started to wash my body for me going slow and so nice he was being so sweet..when he turned me around and started washing my back i opened my eyes and saw at my stomach and just wanted to cry because i feel so self conscious at that moment I just wanted him to stop touching me stop looking at me naked I just wanted to cover up and cry...he is started to get slightly bothered by the fact I keep denying him. And I dont blame him the slightest bit. Its not that I dont want to have sex I do but the second my clothes come off I shut down I feel so uncomfortable in my own skin that I dont want him to look at me I dont want him to see me looking the way I do now...I dont know what to do or how I can change the way I feel...Im becoming depressed...