SceneKit을 사용할 때 특정 위치에 텍스트를 배치하는 방법은 무엇입니까?

VYT

나는 실린더, 상자와 같은 간단한 논리를 따르려고 노력했다. 그래서 textNode의 위치를 ​​정의하는 것만으로도 작동하지 않는다.

func makeText(text3D: String, position: SCNVector3, depthOfText: CGFloat, color: NSColor, transparency: CGFloat) -> SCNNode
{
    let textTodraw = SCNText(string: text3D, extrusionDepth: depthOfText)
    textTodraw.firstMaterial?.transparency = transparency
    textTodraw.firstMaterial?.diffuse.contents = color
    let textNode = SCNNode(geometry: textTodraw)
    textNode.position = position        
    return textNode
}
Rickster

의 기본 글꼴 SCNText36 포인트 Helvetica 이고 글꼴 크기의 "포인트"는 장면 공간 단위와 동일합니다. (글쎄요, SCNText지오메트리가 포함 된 노드의 로컬 공간입니다 .하지만 노드에 축척 계수를 설정하지 않은 경우 로컬 공간 단위는 장면 공간 단위와 동일합니다.) 즉, 짧은 레이블도 수십 단위의 높이가 될 수 있습니다. 그리고 폭이 수백 단위입니다.

그것은 작은 범위를 빌드 SceneKit 장면에 대한 일반의 - 예를 들어, 같은 간단한 테스트 장면은 스위프트 함께 던질 수있는 놀이터의 기본 크기를 사용 SCNBox, SCNSphere등 넓은 3-4 단위 수 있습니다. (ARKit과 함께 SceneKit을 사용하는 경우 장면 단위는 미터이므로 36 "포인트"글꼴의 일부 텍스트는 시내 몇 개의 사무실 블록 크기입니다.)

또한 포함 노드에 상대적인 텍스트 지오메트리의 앵커 포인트는 텍스트의 왼쪽 아래 모서리에 있습니다. 이 모든 것을 합치면 나머지 장면에 거대한 글자가 나타나 카메라 시야 밖에 숨겨져있을 수 있습니다.


에 훨씬 더 작은 글꼴을 설정하여이 문제를 해결하려고 SCNText하면 텍스트가 들쭉날쭉하고 뭉툭해질 수 있습니다. 이는 flatness속성이 텍스트의 포인트 크기를 기준으로 측정 되기 때문입니다 (보다 정확하게는 1 단위 == 텍스트 크기의 1 포인트 인 좌표계에서 측정 됨). 따라서 화면 / 인쇄 표준에 따라 작은 글꼴 크기를 선택하는 경우 flatness글자의 부드러운 곡선을 얻으려면 그에 따라 크기를 줄여야합니다 .

또는 글꼴 크기와 평탄도를 그대로 둘 수 있습니다. 대신 scale텍스트 지오메트리가 포함 된 노드에 요소를 설정하거나 해당 노드의 pivot내용을 축소하는 변환 행렬로 설정합니다 . 예를 들어, 축척 비율을 1/72로 설정하면 장면 공간의 한 단위는 텍스트 높이의 "인치"(72 포인트)와 동일합니다. 장면의 다른 크기에 따라 약간의 오차가 발생할 수 있습니다. 2D 에서처럼 글꼴 크기를 더 쉽게 생각할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

vue js vue-virtual-scroller 플러그인을 사용할 때 특정 스크롤 위치에서 시작하는 방법은 무엇입니까?

분류에서Dev

배치를 사용하여 텍스트 파일에서 특정 텍스트의 출력을 얻는 방법은 무엇입니까?

분류에서Dev

목록을 사용할 때 한 행에 여러 요소를 배치하는 방법은 무엇입니까?

분류에서Dev

텍스트보기에서 텍스트를 표시 할 때 버튼을 사용하는 방법은 무엇입니까? 마치 키보드처럼

분류에서Dev

특정 문자 위치에 텍스트를 중앙에 배치하는 방법은 무엇입니까?

분류에서Dev

drawInRect를 사용할 때 텍스트 색상을 설정하는 방법은 무엇입니까?

분류에서Dev

오버플로 HIDDEN을 사용할 때 CENTER를 텍스트 정렬하는 방법은 무엇입니까?

분류에서Dev

SwiftUI와 함께 SceneKit을 사용할 때 SCNSceneRendererDelegate 메서드에 액세스하는 방법은 무엇입니까?

분류에서Dev

특정 위치에 텍스트를 배치하는 방법은 무엇입니까?

분류에서Dev

배열의 내용을 인쇄 할 때 배열의 위치를 인쇄하는 방법은 무엇입니까?

분류에서Dev

Tar 아카이브에서 특정 파일을 추출 할 때 대상 위치를 지정하는 방법은 무엇입니까?

분류에서Dev

"작성기 설치"를 실행할 때 특정 PHP 버전을 사용하도록 지정하는 방법은 무엇입니까?

분류에서Dev

의사 요소를 사용할 때 텍스트의 두 번째 줄을 첫 번째 줄에 정렬하는 방법은 무엇입니까?

분류에서Dev

정규식이 각 일치 항목을 찾을 때 텍스트를 사용하지 않도록하는 방법은 무엇입니까?

분류에서Dev

배치 스크립트를 사용하여 열 정렬로 이메일 본문에 텍스트 파일 내용을 보내는 방법은 무엇입니까?

분류에서Dev

줄리아-pacakge를 개발할 때 테스트에만 특정 의존성을 사용하는 방법은 무엇입니까?

분류에서Dev

sed + regex를 사용하여 지정된 위치에 텍스트 파일에 줄을 삽입하는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 소스를 빌드 할 때 지정된 위치의 공간을 피하는 방법은 무엇입니까?

분류에서Dev

사이트의 특정 위치에 PHP 파일을로드하는 방법은 무엇입니까?

분류에서Dev

수동 재정렬없이 ".insert"를 사용하지 않고 열을 추가 할 때 데이터 테이블의 특정 위치에 열을 삽입하는 방법은 무엇입니까?

분류에서Dev

SwiftUI Chat 앱에서 보내기 버튼을 클릭 할 때 사용자 정의 UITextView에서 텍스트를 지우는 방법은 무엇입니까?

분류에서Dev

사용자가 텍스트 영역의 지정된 단어에서 문자를 삭제할 때 버튼을 다시 숨기는 방법은 무엇입니까?

분류에서Dev

이진 검색을 사용하여 정렬 된 배열에 값을 삽입 할 위치를 찾는 방법은 무엇입니까?

분류에서Dev

pytest를 통해 multirpocessing을 사용할 때 적용 범위를 측정하는 방법은 무엇입니까?

분류에서Dev

<div>를 중앙에 배치하고 고정 위치를 사용하는 방법은 무엇입니까?

분류에서Dev

2D 그래픽 가속을 사용할 때 Acrobat X 텍스트 흐릿한 텍스트를 수정하는 방법은 무엇입니까?

분류에서Dev

사용자가 React native otp 입력을 사용하여 otp 텍스트 입력에서 텍스트를 삭제할 때 재설정 상태를 추가하는 방법은 무엇입니까?

분류에서Dev

사용자 지정 전송 버튼을 사용할 때 "장치에 연결"대화 상자를 시작하는 방법은 무엇입니까?

분류에서Dev

리플렉션을 사용할 때 특정 생성자를 반환하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    vue js vue-virtual-scroller 플러그인을 사용할 때 특정 스크롤 위치에서 시작하는 방법은 무엇입니까?

  2. 2

    배치를 사용하여 텍스트 파일에서 특정 텍스트의 출력을 얻는 방법은 무엇입니까?

  3. 3

    목록을 사용할 때 한 행에 여러 요소를 배치하는 방법은 무엇입니까?

  4. 4

    텍스트보기에서 텍스트를 표시 할 때 버튼을 사용하는 방법은 무엇입니까? 마치 키보드처럼

  5. 5

    특정 문자 위치에 텍스트를 중앙에 배치하는 방법은 무엇입니까?

  6. 6

    drawInRect를 사용할 때 텍스트 색상을 설정하는 방법은 무엇입니까?

  7. 7

    오버플로 HIDDEN을 사용할 때 CENTER를 텍스트 정렬하는 방법은 무엇입니까?

  8. 8

    SwiftUI와 함께 SceneKit을 사용할 때 SCNSceneRendererDelegate 메서드에 액세스하는 방법은 무엇입니까?

  9. 9

    특정 위치에 텍스트를 배치하는 방법은 무엇입니까?

  10. 10

    배열의 내용을 인쇄 할 때 배열의 위치를 인쇄하는 방법은 무엇입니까?

  11. 11

    Tar 아카이브에서 특정 파일을 추출 할 때 대상 위치를 지정하는 방법은 무엇입니까?

  12. 12

    "작성기 설치"를 실행할 때 특정 PHP 버전을 사용하도록 지정하는 방법은 무엇입니까?

  13. 13

    의사 요소를 사용할 때 텍스트의 두 번째 줄을 첫 번째 줄에 정렬하는 방법은 무엇입니까?

  14. 14

    정규식이 각 일치 항목을 찾을 때 텍스트를 사용하지 않도록하는 방법은 무엇입니까?

  15. 15

    배치 스크립트를 사용하여 열 정렬로 이메일 본문에 텍스트 파일 내용을 보내는 방법은 무엇입니까?

  16. 16

    줄리아-pacakge를 개발할 때 테스트에만 특정 의존성을 사용하는 방법은 무엇입니까?

  17. 17

    sed + regex를 사용하여 지정된 위치에 텍스트 파일에 줄을 삽입하는 방법은 무엇입니까?

  18. 18

    C #을 사용하여 소스를 빌드 할 때 지정된 위치의 공간을 피하는 방법은 무엇입니까?

  19. 19

    사이트의 특정 위치에 PHP 파일을로드하는 방법은 무엇입니까?

  20. 20

    수동 재정렬없이 ".insert"를 사용하지 않고 열을 추가 할 때 데이터 테이블의 특정 위치에 열을 삽입하는 방법은 무엇입니까?

  21. 21

    SwiftUI Chat 앱에서 보내기 버튼을 클릭 할 때 사용자 정의 UITextView에서 텍스트를 지우는 방법은 무엇입니까?

  22. 22

    사용자가 텍스트 영역의 지정된 단어에서 문자를 삭제할 때 버튼을 다시 숨기는 방법은 무엇입니까?

  23. 23

    이진 검색을 사용하여 정렬 된 배열에 값을 삽입 할 위치를 찾는 방법은 무엇입니까?

  24. 24

    pytest를 통해 multirpocessing을 사용할 때 적용 범위를 측정하는 방법은 무엇입니까?

  25. 25

    <div>를 중앙에 배치하고 고정 위치를 사용하는 방법은 무엇입니까?

  26. 26

    2D 그래픽 가속을 사용할 때 Acrobat X 텍스트 흐릿한 텍스트를 수정하는 방법은 무엇입니까?

  27. 27

    사용자가 React native otp 입력을 사용하여 otp 텍스트 입력에서 텍스트를 삭제할 때 재설정 상태를 추가하는 방법은 무엇입니까?

  28. 28

    사용자 지정 전송 버튼을 사용할 때 "장치에 연결"대화 상자를 시작하는 방법은 무엇입니까?

  29. 29

    리플렉션을 사용할 때 특정 생성자를 반환하는 방법은 무엇입니까?

뜨겁다태그

보관