Mouse position return something amazing

After click i need to create the box at the mouse position. I do it using next script:

    private void Update()
    {
        if (Input.GetButtonDown("Fire1")) SpawnBox();
    }

    private void SpawnBox()
    {
        Instantiate(box, Input.mousePosition, box.transform.rotation);
    }

but mousePosition.x return 100+ , y and z too. Maybe problem is into rotation?

The issue here is that Input.mousePosition gives you the position of the mouse in pixel coordinates. It sounds like you want to instantiate an object at wherever the mouse is pointing to in world coordinates. This is possible, but it will take a little extra effort to make it work. The solution is to use the ScreenToWorldPoint() function of your camera to transform the mouse position into a world position. The problem here is that Input.mousePosition is 2D, and doesn’t really have a Z value. So you would have to manually set it yourself by doing something like this:

            Vector3 mPosition = Input.mousePosition;
            mPosition.z = 20;
            mPosition = Camera.main.ScreenToWorldPoint(mPosition);
            Instantiate(box, mPosition, new Quaternion());

Depending on what you are trying to do, you might also want to place a box when you click on an object. The solution for that is to do a raycast to determine if you clicked on something, and place the object at the point where you clicked on the object. The solution for that would look something like this:

            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                Instantiate(box, hit.point, new Quaternion());
            }