이 페이지에서

Qt3DRender::QRayCaster Class

class Qt3DRender::QRayCaster

Qt3DRender::QRayCaster 3D 세계 좌표계에서 레이 캐스팅 테스트를 수행하는 데 사용됩니다. 더 보기...

헤더: #include <qraycaster.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML에서: RayCaster
상속: Qt3DRender::QAbstractRayCaster
상태: 사용 중단됨

이 클래스는 더 이상 사용되지 않습니다. 새로운 코드에서는 이 클래스를 사용하지 않는 것을 강력히 권장합니다.

속성

공개 함수

QVector3D direction() const
float length() const
QVector3D origin() const

공개 슬롯

void setDirection(const QVector3D &direction)
void setLength(float length)
void setOrigin(const QVector3D &origin)
void trigger()
void trigger(const QVector3D &origin, const QVector3D &direction, float length)

신호

void directionChanged(const QVector3D &direction)
void lengthChanged(float length)
void originChanged(const QVector3D &origin)

상세 설명

3D 광선은 원점, 방향 및 길이로 정의됩니다. 이 광선은 소속된 엔티티에 적용된 변환의 영향을 받습니다.

레이 캐스팅 테스트는 컴포넌트가 활성화된 상태인 한 매 프레임마다 수행됩니다. hits 속성은 교차 지점 목록으로 업데이트됩니다.

QAbstractRayCaster, QScreenRayCaster 및 QNoPicking도 참조하십시오 .

속성 문서

direction : QVector3D

3D 광선의 방향을 저장합니다. 이 값은 단위 벡터여야 합니다.

액세스 함수:

QVector3D direction() const
void setDirection(const QVector3D &direction)

알림 신호:

void directionChanged(const QVector3D &direction)

length : float

3D 광선의 길이를 저장합니다.

액세스 함수:

float length() const
void setLength(float length)

알림 신호:

void lengthChanged(float length)

origin : QVector3D

로컬 좌표계에서 3D 광선의 원점을 저장합니다.

액세스 함수:

QVector3D origin() const
void setOrigin(const QVector3D &origin)

알림 신호:

void originChanged(const QVector3D &origin)

멤버 함수 문서

[slot] void QRayCaster::setLength(float length)

광선의 길이를 length 로 설정합니다.

값이 0 이하인 경우, 광선은 무한한 것으로 간주됩니다.

참고: length 속성에 대한세터 함수입니다.

length()도 참조하십시오 .

[slot] void QRayCaster::trigger()

현재 광선을 사용하여 컴포넌트를 활성화하고 테스트를 실행하는 편리한 방법입니다.

참고: 이 슬롯은 오버로드되어 있습니다. 이 슬롯에 연결하려면:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        rayCaster, qOverload<>(&QRayCaster::trigger));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        rayCaster, [receiver = rayCaster]() { receiver->trigger(); });
더 많은 예제와 접근 방식에 대해서는 오버로드된 슬롯에 연결하기를 참조하십시오.

[slot] void QRayCaster::trigger(const QVector3D &origin, const QVector3D &direction, float length)

origin, direction, length 등의 레이 세부 정보를 설정하고, 컴포넌트가 테스트를 실행하도록 하는 편리한 방법입니다.

참고: 이 슬롯은 오버로드되어 있습니다. 이 슬롯에 연결하려면:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        rayCaster, qOverload(&QRayCaster::trigger));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        rayCaster, [receiver = rayCaster](const QVector3D &origin, const QVector3D &direction, float length) { receiver->trigger(origin, direction, length); });
더 많은 예제와 접근 방식은 오버로드된 슬롯 연결을 참조하십시오.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.