Python을 통해 구속조건 작업을 수행하는 경우 vrConstraintService
및 vrdConstraintNode
을 사용합니다.
다음 Python 구속조건 함수를 사용하는 방법을 보여 주는 예제 파일(SimpleConstraint.vpb
)을 추가했습니다. 예제 파일에 액세스하려면 파일 > 예제 열기... > SimpleConstraint.vpb를 선택합니다.
Python 구속조건 동영상 캡션: VRED 2020에서는 스크립팅 언어 Python을 사용하여 구속조건을 생성하는 기능을 구현했습니다. 구속조건 사용에 대한 자세한 내용은 Python 문서를 참조하십시오. 이 문서에 구속조건을 생성하고 사용하는 방법에 대한 중요한 모든 정보가 나와 있습니다. 간단한 구속조건 예제에서 다양한 구속조건과 그 효과를 보여 줍니다.
다음 객체 및 함수가 지원됩니다.
지원되는 객체는 다음과 같습니다.
다음은 vrConstraintService
함수입니다.
createPositionConstraint
위치 구속조건을 생성합니다.createOrientationConstraint
구속된 객체의 회전을 제한하고 제어하기 위한 방향 구속조건을 생성합니다.createAimConstraint
구속된 객체의 회전 및 목표를 제한하고 제어하기 위한 목표 구속조건을 생성합니다. 목표 구속조건을 사용하여 하나의 객체를 구속하면 객체는 항상 해당 대상을 가리킵니다.getConstraints
모든 구속조건 목록을 반환합니다.findConstrainedNode
구속된 노드가 할당된 모든 구속조건 목록을 반환합니다.deleteConstraint
지정된 구속조건을 삭제합니다.vrdConstraintNode (base class)
는 한 객체의 위치나 방향을 다른 객체의 위치나 방향에 구속시키는 데 사용됩니다. 객체에 제한을 설정하고 애니메이트된 프로세스를 자동화합니다.
다음은 vrdConstraintNode
함수입니다.
setActive
구속조건을 활성 또는 비활성으로 설정합니다.
isActive
구속조건이 활성이면 반환합니다.
setTargetNodes
구속조건의 대상 노드를 설정합니다.
getTargetNodes
대상 노드 목록을 반환합니다.
clearTargetNodes
구속조건 대상 노드를 지웁니다.
setTargetNodeWeight
대상 노드의 가중치를 설정합니다. 가중치는 대상 점, 방향, 배율, 벡터 등에 미치는 객체의 영향을 제어합니다. 결과 가중 평균은 구속된 객체의 위치, 방향 등을 유도합니다.
가중치가 0이면 구속된 객체에 미치는 영향이 없습니다.
대상 객체가 여러 개인 경우에만 구속조건 가중치를 사용합니다. 하나의 대상 객체에만 사용할 경우 0보다 큰 모든 가중치는 완전한 영향을 미치는 것으로 해석됩니다. 따라서 구속된 객체에 단일 대상이 미치는 영향은 100%입니다.
getTargetNodeWeight
대상 노드의 가중치를 반환합니다.
setConstrainedNode
구속된 노드를 설정합니다.
getConstrainedNode
구속된 노드의 이름을 반환합니다.
clearConstrainedNode
구속된 노드를 지웁니다.
vrdPositionConstraintNode
는 객체가 이동하여 다른 객체의 위치 또는 여러 객체의 위치 평균을 따르도록 합니다. 객체의 모션을 다른 객체의 모션과 일치시키려는 경우 사용합니다.
객체가 일련의 다른 객체를 따르도록 애니메이트하려면 위치 구속조건을 사용해 보십시오.
다음은 특정 vrdPositionConstraintNode
함수입니다.
setMaintainOffset
구속된 객체의 관련 이동을 구속 이전의 원래 상태로 유지하려면 설정합니다. 이 옵션을 사용하면 구속된 객체 간의 공간 관계를 유지할 수 있습니다.getMaintainOffset
오프셋 유지가 설정된 경우 반환합니다.vrdOrientationConstraintNode
는 방향 구속조건에 대한 함수입니다. 객체의 방향을 하나 이상의 다른 객체에 맞춥니다. 여러 객체 방향을 동시에 설정하려면 이 기능을 사용합니다. 예를 들어 스티어링 휠, 타이어, 헤드라이트와 같은 객체의 그룹이 동시에 같은 방향으로 회전하도록 합니다. 스티어링 휠을 애니메이트한 다음 애니메이트된 스티어링 휠에 타이어와 헤드라이트를 구속합니다.
vrdAimConstraintNode
는 목표 구속조건에 대한 함수로, 객체의 방향을 구속하고 객체가 다른 객체를 향하도록 합니다. 카메라나 라이트가 객체 또는 객체 그룹을 향하게 하려는 경우 사용합니다.
다음은 특정 vrdAimConstraintNode
함수입니다.
setUpVectorTargetNodes
상향 벡터 위치를 정의하는 대상 노드를 설정합니다.getUpVectorTargetNodes
상향 벡터 대상 노드를 반환합니다.clearUpVectorTargetNodes
상향 벡터 대상 노드를 지웁니다.setUpVectorTargetNodeWeight
상향 벡터 대상 노드의 가중치를 설정합니다.getUpVectorTargetNodeWeight
상향 벡터 대상 노드의 가중치를 반환합니다.