Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Collider.Raycast

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public function Raycast(ray: Ray, out hitInfo: RaycastHit, maxDistance: float): bool;
public bool Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance);

Параметры

ray @param ray Начальная точка и направление луча.
hitInfo @param hitInfo Если возвращено значение true, hitInfo содержит больше информации о том, где произошел контакт с коллайдером (See Also: RaycastHit).
maxDistance @param distance Длина луча.

Возврат значений

bool @return True если луч пересекся хотя-бы с одним коллайдером,в ином случае - false.

Описание

Пускает [[Ray], который игнорирует все коллайдеры, кроме этого.

var coll: Collider;

function Start() { coll = GetComponent.<Collider>(); }

function Update(){ // Move this object to the position clicked by the mouse. if (Input.GetMouseButtonDown(0)) { var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition); var hit : RaycastHit; if (coll.Raycast(ray, hit, 100.0)) { transform.position = ray.GetPoint(100.0); } } }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Collider coll; void Start() { coll = GetComponent<Collider>(); } void Update() { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (coll.Raycast(ray, out hit, 100.0F)) transform.position = ray.GetPoint(100.0F); } } }