Так вот, ты пытаешься получить компонент Char2 с этого объекта, а не с капсулы.
Попробуй следующим образом:
using UnityEngine;
using System.Collections;
public class takeObject : MonoBehaviour {
public GameObject takingHands;
public Ray _ray;
public RaycastHit _hit;
public float speed;
private char2 _char2;
void Start () {
_char2 = (char2)FindObjectOfType(typeof(char2));
}
void Update () {
speed = _char2 .speed; //////ОШИБОЧНАЯ СТРОЧКА
if (Input.GetKeyUp(KeyCode.E)){
_ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (collider.Raycast(_ray, out _hit, 10)){
//originTransformTakingHands.transform.position = transform.position;
rigidbody.isKinematic = true;
_hit.collider.transform.parent = Camera.main.transform;
transform.position = takingHands.transform.position;
}
}
if (gameObject.transform.parent != null){
if (Input.GetKey(KeyCode.F)){
print ("F - entered");//
transform.parent = null;
rigidbody.isKinematic = false;
gameObject.rigidbody.AddForce(Camera.main.transform.forward * speed, ForceMode.Impulse);
}
}
}
}