SCNFloor에 텍스처 설정
소개
SCNFloor의 텍스처 설정에 집중했으므로 메모해 둡니다.
일반적으로 아무 것도 설정하지 않으면 아래 이미지와 같은 무기질 바닥이 표시됩니다.
SCNNode의 텍스처는 firstMaterial 프로퍼티의 diffuse 로 설정할 수 있다.
따라서 SCNFloor에서도 다음과 같이 텍스처를 설정해 보면 텍스처 이미지가 늘어나서 표시되어 예상대로 표시되지 않았다.
let floor = SCNFloor()
floor.firstMaterial?.diffuse.contents = UIImage(named: "art.scnassets/textures/grass.jpg")
let floorNode = SCNNode(geometry: floor)
scene.rootNode.addChildNode(floorNode)
원인과 대응
diffuse로 설정한 화상은 지정이 없으면 그 면에 맞추어 자동적으로 늘어나는 것이 원인.
이미지의 크기를 지정하면, 늘어나서 채우는 것이 아니라 이미지를 타일처럼 반복해서 맞추어 메우게 된다.
따라서 SCNMatrix4MakeScale에서 실제 텍스처 이미지와 같은 크기를 지정해 주면 된다.
let floor = SCNFloor()
floor.firstMaterial?.diffuse.contents = UIImage(named: "art.scnassets/textures/grass.jpg")
+ floor.firstMaterial?.diffuse.contentsTransform = SCNMatrix4MakeScale(128, 128, 0)
let floorNode = SCNNode(geometry: floor)
scene.rootNode.addChildNode(floorNode)
Reference
이 문제에 관하여(SCNFloor에 텍스처 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/noby111/items/e7e77ccf02608e355cd2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)