알려진 직접 서브클래스 |
알려진 간접 하위 클래스 |
노드는 장면 그래프의 계층 구조 내에서 변환을 나타냅니다. 여기에는 렌더링 엔진이 렌더링할 수 있는 렌더러가 포함될 수 있습니다.
각 노드에는 임의의 수의 하위 노드와 하나의 상위 노드가 있을 수 있습니다. 상위 요소는 다른 노드이거나 장면일 수 있습니다.
중첩된 클래스
인터페이스 | Node.LifecycleListener | 노드 수명 주기 이벤트가 발생할 때 호출될 콜백에 대한 인터페이스 정의입니다. | |
인터페이스 | Node.OnTapListener | 노드를 탭할 때 호출할 콜백에 대한 인터페이스 정의입니다. | |
인터페이스 | Node.OnTouchListener | 터치 이벤트가 이 노드로 전달될 때 호출될 콜백의 인터페이스 정의입니다. | |
인터페이스 | Node.TransformChangedListener | 노드 변환이 변경될 때 호출될 콜백에 대한 인터페이스 정의입니다. |
공개 생성자
노드()
상위 요소가 없는 노드를 만듭니다.
|
공개 메서드
void | |
void |
addTransformChangedListener(Node.TransformChangedListener transformChangedListener)
노드의 변환이 변경될 때 호출될 리스너를 추가합니다.
|
void | |
노드 | |
최종 Vector3 |
getBack()
이 노드의 월드 공간 뒤로 벡터 (+z)를 가져옵니다.
|
CollisionShape |
getCollisionShape()
이 노드와 충돌에 사용할 도형을 가져옵니다.
|
최종 Vector3 |
getDown()
이 노드의 월드 공간 다운 벡터 (-y)를 가져옵니다.
|
최종 Vector3 |
getForward()
이 노드의 월드 공간 정방향 벡터 (-z)를 가져옵니다.
|
최종 Vector3 |
getLeft()
이 노드의 월드 공간 왼쪽 벡터 (-x)를 가져옵니다.
|
약간 |
getLight()
변경 가능한 현재 광원을 가져옵니다.
|
최종 Vector3 |
getLocalPosition()
상위 (로컬 공간)를 기준으로 노드 위치의 사본을 가져옵니다.
|
최종 사원수 |
getLocalRotation()
상위 요소 (로컬 공간)를 기준으로 노드 회전의 사본을 가져옵니다.
|
최종 Vector3 |
getLocalScale()
상위 (로컬 공간)를 기준으로 노드 배율의 사본을 가져옵니다.
|
최종 문자열 |
getName()
노드 이름을 반환합니다.
|
최종 노드 |
getParent()
이 노드의 상위 요소를 반환합니다.
|
렌더링 가능 |
getRenderable()
이 노드에 표시할 렌더링 가능 항목을 가져옵니다.
|
최종 Vector3 |
getRight()
이 노드의 월드 공간 오른쪽 벡터 (+x)를 가져옵니다.
|
최종 장면 |
get scene()
이 노드가 포함된 장면을 반환합니다. 장면에 속하지 않는 경우 null을 반환합니다.
|
최종 Vector3 |
getUp()
이 노드의 월드 공간 위로 벡터 (+y)를 가져옵니다.
|
최종 Vector3 |
getWorldPosition()
노드 월드 위치의 사본을 가져옵니다.
|
최종 사원수 |
getWorldRotation()
노드 월드 공간 회전의 사본을 가져옵니다.
|
최종 Vector3 |
getWorldScale()
노드 공간 간 노드의 사본을 가져옵니다.
|
최종 부울 |
isActive()
노드가 활성 상태이면 true를 반환합니다.
|
최종 부울 | |
최종 부울 |
isEnabled()
이 노드의 사용 설정된 상태를 가져옵니다.
|
boolean |
isTopLevel()
이 노드가 최상위 수준이면 true를 반환합니다.
|
최종 Vector3 | |
최종 Vector3 | |
void |
onActivate()
이 노드가 활성화되면 처리합니다.
|
void |
on비활성화()
이 노드가 비활성화될 때 처리합니다.
|
boolean | |
void | |
void | |
void |
removeLifecycleListener(Node.LifecycleListener lifecycleListener)
노드 수명 주기 이벤트가 발생할 때 호출될 리스너를 삭제합니다.
|
void |
removeTransformChangedListener(Node.TransformChangedListener transformChangedListener)
노드의 변환이 변경될 때 호출될 리스너를 삭제합니다.
|
void | |
최종 무효 |
setEnabled(부울 사용 설정됨)
이 노드의 사용 상태를 설정합니다.
|
void | |
void | |
void | |
void | |
최종 무효 | |
최종 무효 | |
최종 무효 | |
void | |
void | |
void | |
void | |
void | |
void | |
void | |
문자열 |
toString()
|
최종 Vector3 | |
최종 Vector3 |
보호되는 방법
최종 부울 | |
최종 무효 |
onAddChild(Node 하위)
|
최종 무효 |
onRemoveChild(Node 하위 요소)
|
상속된 메서드
공개 생성자
public 노드 ()
상위 요소가 없는 노드를 만듭니다.
공개 메서드
public void addLifecycleListener (Node.LifecycleListener lifecycleListener)
노드 수명 주기 이벤트가 발생할 때 호출될 리스너를 추가합니다. 리스너는 추가된 순서대로 호출됩니다.
매개변수
lifecycleListener |
---|
public void addTransformChangedListener (Node.TransformChangedListener transformChangedListener)
노드의 변환이 변경될 때 호출될 리스너를 추가합니다.
매개변수
transformChangedListener |
---|
public void callOnHierarchy (소비자<Node)
계층 구조를 순회하고 각 노드 (이 노드 포함)에서 메서드를 호출합니다. 우선 심도를 우선시해야 합니다.
매개변수
consumer | 각 노드에서 호출할 메서드 |
---|
public Node findInHierarchy (Predicate<Node> condition)
계층 구조를 탐색하여 조건을 충족하는 첫 번째 노드 (이 노드 포함)를 찾습니다. 조건자가 충족되면 순회가 중지됩니다. 우선 심도를 우선시해야 합니다.
매개변수
condition | 조건자는 검색할 노드의 조건을 정의합니다. |
---|
반환 값
- 조건자의 조건과 일치하는 첫 번째 노드입니다. 그렇지 않으면 null이 반환됩니다.
public CollisionShape getCollisionShape ()
이 노드와 충돌에 사용할 도형을 가져옵니다. 셰이프가 null이고 setRenderable(Renderable)
이 설정된 경우 getCollisionShape()
를 사용하여 이 Node
의 충돌을 감지합니다.
반환 값
- 기하학적 모양, 즉 구, 상자, 볼록 선체를 나타냅니다.
공개 최종 Vector3 getLocalPosition ()
상위 (로컬 공간)를 기준으로 노드 위치의 사본을 가져옵니다. isTopLevel()
이 true인 경우 getWorldPosition()
와 동일합니다.
반환 값
- 노드의 로컬 공간 위치를 나타내는 새로운 벡터
공개 최종 Quaternion getLocalRotation ()
상위 요소 (로컬 공간)를 기준으로 노드 회전의 사본을 가져옵니다. isTopLevel()
이 true인 경우 getWorldRotation()
와 동일합니다.
반환 값
- 노드의 로컬 공간 회전을 나타내는 새 사원수
공개 최종 Vector3 getLocalScale ()
상위 (로컬 공간)를 기준으로 노드 배율의 사본을 가져옵니다. isTopLevel()
이 true인 경우 getWorldScale()
와 동일합니다.
반환 값
- 노드의 로컬 공간 배율을 나타내는 새 벡터
참고 항목
공개 최종 노드 getParent ()
공개 최종 장면 get scene ()
이 노드가 포함된 장면을 반환합니다. 장면에 속하지 않는 경우 null을 반환합니다. 최상위 상위 노드가 Scene
인 경우 노드는 장면의 일부입니다.
공개 최종 Vector3 getWorldPosition ()
공개 최종 Quaternion getWorldRotation ()
공개 최종 Vector3 getWorldScale ()
노드 공간 간 노드의 사본을 가져옵니다. 노드가 왜곡되면 일부 정밀도가 손실됩니다.
반환 값
- 노드의 월드 공간 척도를 나타내는 새로운 벡터
참고 항목
공개 최종 부울 isActive ()
노드가 활성 상태이면 true를 반환합니다. 노드가 다음 조건을 모두 충족하는 경우 활성 상태로 간주됩니다.
- 노드는 장면의 일부입니다.
- 노드의 상위 노드가 활성 상태입니다.
- 노드가 사용 설정됩니다.
- 노드의
onUpdate(FrameTime)
함수는 프레임마다 호출됩니다. - 노드의
getRenderable()
이 렌더링됩니다. - Scene.hitTest 호출에서 노드의
getCollisionShape()
이 확인됩니다. - 노드를 터치하면 노드의
onTouchEvent(HitTestResult, MotionEvent)
함수가 호출됩니다.
반환 값
- 노드의 활성 상태
public end boolean isDescendantOf (NodeParent 상위 항목)
지정된 노드 상위 노드가 이 노드의 상위 항목인지 재귀적으로 확인합니다.
매개변수
상위 | 확인할 노드 상위 요소 |
---|
반환 값
- 노드가 이 노드의 상위 항목인 경우 true
공개 최종 부울 isEnabled ()
이 노드의 사용 설정된 상태를 가져옵니다. 노드가 사용 설정되어 있을 수 있지만 장면에 포함되지 않거나 상위 노드가 비활성 상태이면 여전히 비활성 상태일 수 있습니다.
반환 값
- 노드의 사용 설정 상태입니다.
참고 항목
public boolean isTopLevel ()
이 노드가 최상위 수준이면 true를 반환합니다. 노드에 상위 요소가 없거나 상위 요소가 장면인 경우 노드가 최상위 수준으로 간주됩니다.
반환 값
- 노드가 최상위인 경우 true
public end Vector3 localToWorldDirection (Vector3 방향)
이 노드의 로컬 공간에서 월드 공간으로 방향을 변환합니다. 노드의 위치 또는 규모에 영향을 받지 않습니다.
매개변수
direction | 변환할 공간의 방향 |
---|
반환 값
- 세계 공간의 방향을 나타내는 새로운 벡터
공개 최종 Vector3 localToWorldPoint (Vector3 포인트)
이 노드의 로컬 공간의 지점을 월드 공간으로 변환합니다.
매개변수
point | 변환할 로컬 공간의 포인트 |
---|
반환 값
- 세계 공간의 지점을 나타내는 새로운 벡터
public void onActivate ()
이 노드가 활성화되면 처리합니다. 노드가 사용 설정되어 있고 장면의 일부이고 노드가 상위 노드가 활성 상태이면 노드가 활성 상태입니다.
재정의하여 노드가 활성화될 때 필요한 설정을 수행합니다.
참고 항목
public void on비활성화 ()
이 노드가 비활성화될 때 처리합니다. 장면에 속해 있지 않거나 노드의 상위 요소가 비활성 상태이면 노드가 비활성 상태입니다.
재정의하여 노드가 비활성화될 때 필요한 설정을 수행합니다.
참고 항목
public boolean onTouchEvent (HitTestResult hitTestResult, MotionEventMotionEvent)
이 노드를 터치하면 처리됩니다.
이 노드를 터치했을 때 발생해야 하는 로직을 수행하도록 재정의하세요. 터치 이벤트가 전파되는 방식은 터치가 Android 뷰로 전파되는 방식을 반영합니다. 이는 노드가 활성 상태일 때만 호출됩니다.
ACTION_DOWN 이벤트가 발생하면 동작의 시작을 나타냅니다. ACTION_UP 또는 ACTION_CANCEL은 동작이 종료되는 시점을 나타냅니다. 동작이 시작되면 다음이 실행됩니다.
hitTest(MotionEvent)
에 의해 감지된 것처럼 터치된 노드에 터치 이벤트를 전달합니다.- 노드가 이벤트를 소비하지 않으면 노드의 상위 요소를 통해 위로 반복하고 노드 중 하나가 이벤트를 사용할 때까지 터치 이벤트를 전달합니다.
- 이벤트를 사용하는 노드가 없으면 동작이 무시되고 동작에 포함된 후속 이벤트는 어떤 노드에도 전달되지 않습니다.
- 노드 중 하나가 이벤트를 소비하면 해당 노드는 향후 모든 터치 이벤트를 사용합니다.
Node.OnTouchListener
로 전달됩니다. Node.OnTouchListener
가 이벤트를 처리하지 않으면 onTouchEvent(HitTestResult, MotionEvent)
에 전달됩니다.매개변수
조회 테스트 | 터치된 노드, 노드가 터치된 위치에 대한 정보를 나타냅니다. ACTION_DOWN 이벤트에서 getNode() 는 항상 이 노드 또는 하위 노드 중 하나입니다. 다른 이벤트에서 터치가 이동하여 getNode() 가 변경되거나 null일 수 있습니다. |
---|---|
모션 이벤트 | 모션 이벤트입니다. |
반환 값
- 이벤트가 처리되면 true, 그렇지 않으면 false입니다.
public void onTransformChange (Node originNode)
이 노드의 변환이 변경되면 처리합니다.
원래 노드는 계층 구조에서 이 노드의 변경을 트리거한 최상위 노드입니다. 이 노드는 항상 동일한 노드 또는 상위 요소 중 하나입니다. 즉, 노드 A의 위치가 변경되면 B는 onTransformChange(Node)
모든 하위 요소에 대해 호출됩니다.
매개변수
출처 노드 | 이 노드의 변환이 트리거된 노드입니다. |
---|
public void onUpdate (FrameTimeframeTime)
이 노드가 업데이트될 때 처리합니다. 각 프레임을 렌더링하기 전에 노드가 업데이트됩니다. 이는 노드가 활성 상태일 때만 호출됩니다.
각 프레임에 필요한 업데이트를 수행하도록 재정의하세요.
매개변수
프레임 시간 | 현재 프레임에 시간 정보 제공 |
---|
public void removeLifecycleListener (Node.LifecycleListener lifecycleListener)
노드 수명 주기 이벤트가 발생할 때 호출될 리스너를 삭제합니다.
매개변수
lifecycleListener |
---|
public void removeTransformChangedListener (Node.TransformChangedListener transformChangedListener)
노드의 변환이 변경될 때 호출될 리스너를 삭제합니다.
매개변수
transformChangedListener |
---|
public void setCollisionShape (CollisionShape collisionShape)
이 Node
의 충돌을 감지하는 데 사용되는 도형을 설정합니다. 셰이프가 설정되지 않고 setRenderable(Renderable)
가 설정된 경우 getCollisionShape()
가 이 Node
의 충돌을 감지하는 데 사용됩니다.
매개변수
CollisionShape | 기하학적 모양, 즉 구, 상자, 볼록 선체를 나타냅니다. null이면 이 노드의 현재 충돌 모양이 삭제됩니다. |
---|
public end void setEnabled (불리언 사용 설정됨)
이 노드의 사용 상태를 설정합니다. 노드가 사용 설정되어 있을 수 있지만 장면에 포함되지 않거나 상위 노드가 비활성 상태이면 여전히 비활성 상태일 수 있습니다.
매개변수
사용 설정됨 | 노드의 새로운 사용 설정 상태 |
---|
참고 항목
public void setLight (Light 조명)
표시할 Light
를 설정합니다. 사용하려면 먼저 Light.Builder
를 사용하여 Light
를 만듭니다. 중요한 매개변수를 설정한 후 이 함수를 사용하여 노드에 연결합니다. 노드에 렌더링 가능한 조명과 조명이 있거나 단순히 Light
역할을 할 수 있습니다.
매개변수
조명 | 렌더링할 Light 속성, null을 전달하여 광원을 삭제합니다.
|
---|
public void setLocalPosition (Vector3 위치)
이 노드의 위치를 상위 요소 (local-space)를 기준으로 설정합니다. isTopLevel()
이 true인 경우 setWorldPosition(Vector3)
와 동일합니다.
매개변수
position | 적용할 위치입니다. |
---|
참고 항목
public void setLocalRotation (Quaternion 회전)
이 노드의 상위 요소 (local-space)를 기준으로 이 노드의 회전을 설정합니다. isTopLevel()
이 true인 경우 setWorldRotation(Quaternion)
와 동일합니다.
매개변수
회전 | 적용할 회전입니다. |
---|
참고 항목
public void setLocalScale (Vector3 배율)
이 노드의 크기를 상위 노드 (local-space)를 기준으로 설정합니다. isTopLevel()
이 true인 경우 setWorldScale(Vector3)
와 동일합니다.
매개변수
활용 | 적용할 배율입니다. |
---|
참고 항목
public 최종 무효 setLookDirection (Vector3 LookDirection)
세계 공간에서 노드가 향하는 방향을 설정합니다. 이 메서드를 호출한 후 getForward()
는 전달된 모습 방향과 일치합니다. 월드 공간 위 (0, 1, 0)는 방향을 중심으로 노드의 방향을 결정하는 데 사용됩니다.
매개변수
LookDirection | 월드 공간에서 원하는 모습 방향을 나타내는 벡터 |
---|
public 최종 무효 setLookDirection (Vector3 LookDirection, Vector3 upDirection)
세계 공간에서 노드가 향하는 방향을 설정합니다. 이 메서드를 호출한 후 getForward()
는 전달된 모습 방향과 일치합니다. 위쪽 방향은 방향에 따른 노드의 방향을 결정합니다. 스타일 방향과 위쪽 방향이 같지 않거나 (병렬) 방향이 유효하지 않습니다.
매개변수
LookDirection | 월드 공간에서 원하는 모습 방향을 나타내는 벡터 |
---|---|
위쪽 방향 | 사용할 유효한 위로 벡터를 나타내는 벡터(예: Vector3.up()) |
public end void setName (String name)
이 노드의 이름을 설정합니다. 노드 이름을 사용하여 노드를 찾을 수 있습니다. 여러 노드의 이름이 같을 수 있는 경우 findByName(String)
를 호출하면 지정된 이름의 첫 번째 노드가 반환됩니다.
매개변수
이름 | 노드 이름입니다. |
---|
public void setOnTapListener (Node.OnTapListener onTapListener)
이 노드를 탭할 때 호출할 콜백을 등록합니다. 콜백이 등록된 경우 터치 이벤트가 이 노드의 상위 요소로 버블되지 않습니다. Node.onTouchEvent가 재정의되고 super.onTouchEvent가 호출되지 않으면 탭이 발생하지 않습니다.
매개변수
onTapListener |
---|
참고 항목
public void setOnTouchListener (Node.OnTouchListener onTouchListener)
터치 이벤트가 이 노드로 전달되면 호출될 콜백을 등록합니다. 터치 이벤트가 전파되는 방식은 터치가 Android 뷰로 전파되는 방식을 반영합니다. 이는 노드가 활성 상태일 때만 호출됩니다.
ACTION_DOWN 이벤트가 발생하면 동작의 시작을 나타냅니다. ACTION_UP 또는 ACTION_CANCEL은 동작이 종료되는 시점을 나타냅니다. 동작이 시작되면 다음이 실행됩니다.
hitTest(MotionEvent)
에 의해 감지된 것처럼 터치된 노드에 터치 이벤트를 전달합니다.- 노드가 이벤트를 소비하지 않으면 노드의 상위 요소를 통해 위로 반복하고 노드 중 하나가 이벤트를 사용할 때까지 터치 이벤트를 전달합니다.
- 이벤트를 사용하는 노드가 없으면 동작이 무시되고 동작에 포함된 후속 이벤트는 어떤 노드에도 전달되지 않습니다.
- 노드 중 하나가 이벤트를 소비하면 해당 노드는 향후 모든 터치 이벤트를 사용합니다.
Node.OnTouchListener
로 전달됩니다. Node.OnTouchListener
가 이벤트를 처리하지 않으면 onTouchEvent(HitTestResult, MotionEvent)
에 전달됩니다.매개변수
onTouchListener |
---|
참고 항목
public void setParent (NodeParent parent)
이 노드의 상위 노드를 변경합니다. null로 설정하면 노드가 상위 노드에서 분리됩니다. 이 노드의 로컬 위치, 회전, 배율은 동일하게 유지됩니다. 따라서 상위 노드가 변경된 후에는 이 노드의 세계 위치, 회전, 배율이 다를 수 있습니다.
상위 요소는 다른 Node
또는 Scene
일 수 있습니다. 장면인 경우 이 Node
는 최상위 수준으로 간주됩니다. getParent()
는 null을 반환하고 getScene()
는 장면을 반환합니다.
매개변수
parent | 이 노드의 하위 요소가 될 새 상위 노드입니다. null이면 이 노드가 상위 노드에서 분리됩니다. |
---|
참고 항목
public void setRenderable (Renderable 렌더링 가능)
이 노드에 표시할 Renderable
를 설정합니다. setCollisionShape(CollisionShape)
가 설정되어 있지 않으면 getCollisionShape()
가 이 Node
의 충돌을 감지하는 데 사용됩니다.
매개변수
렌더링 가능 | 보통 3D 모델입니다. null이면 이 노드의 현재 렌더링 가능한 항목이 삭제됩니다. |
---|
public void setWorldPosition (Vector3 위치)
public void setWorldRotation (Quaternion 회전)
public void setWorldScale (Vector3 배율)
public end Vector3 worldToLocalDirection (Vector3 방향)
월드 공간에서 이 노드의 로컬 공간으로 방향을 변환합니다. 노드의 위치 또는 규모에 영향을 받지 않습니다.
매개변수
direction | 월드 공간에서 방향 전환 |
---|
반환 값
- 로컬 공간의 방향을 나타내는 새로운 벡터