Instantiate weird problem

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class ClothLoadFuntions : MonoBehaviour {
	public Object playerTransform;

public SkinnedMeshRenderer objectcloth = null;

	public bool ClothLoadFuntion()
			playerTransform =Instantiate(objectcloth,transform.localPosition,transform.localRotation);


// it is work,but i need a transform not a Object.

public GameObject playerTransform;
playerTransform =Instantiate(objectcloth, transform.localPosition, transform.localRotation)as GameObject;

//run it,in inspector show it does not work.
//go on change
playerTransform =(GameObject)Instantiate(objectcloth, transform.localPosition, transform.localRotation)as GameObject;
//it show InvalidCastException: Cannot cast from source type to destination type.
//how to get it by gameobject or transform?
//tkanks guys! thanks a spend my many hours.i sorry to my poorenglish.

public Transform playerTransform;

public GameObject objectclothPFB;

Instantiate this as a gameobject.

GameObject newObject =(GameObject)Instantiate(objectclothPFB, transform.localPosition, transform.localRotation);
playerTransform = newObject.transform;

remove the “as GameObject” because you are already stating it is a gameobject by using (GameObject)

After instantiating, if you need to access the skinnedmeshrenderer, use:

public SkinnedMeshRenderer objectCloth;
//if the skinnedMeshRenderer is on a child object use:
objectCloth = playerTransform.GetComponentInChildren<SkinnedMeshRenderer>();
// if the objectClothPFB has a skinnedMeshRenderer use:
objectCloth = playerTransform.GetComponent<SkinnedMeshRenderer>();