2012-09-23 4 views
1

단순한 큐브 모델이 있다고 가정합니다. (큐브보다 복잡하지만이 토론의 목적을 위해 우리는 단순화 할 것입니다.)픽셀에 정렬되는 Collada 모델을 가져올 수 있습니까?

그래서 내가 Sketchup에있을 때, 큐브는 Xmm에 의한 Xmm, 여기서 X는 정수입니다. 그런 다음 Collada 파일을 내 보낸 다음 그 파일을 threejs로로드합니다.

이제 기하학적 경계 상자를 보면 값은 정수가 아닌 부동 소수점 값입니다.

그래서 이제는 1 픽셀 사이에 작은 공간을두고 서로 큐브를 배치한다고 가정합니다. 스크린은 절반의 픽셀을 그릴 수 없기 때문에 때로는 한 픽셀을 보게되고 때로는 두 개가 보이기 때문에 균일 성이 떨어집니다.

내가 어떻게 든 가져온 모델의 정수 크기를 가져올 수 있으면이 문제를 해결할 수 있다고 생각합니다. Sketchup으로 시작하는 모델의 모든 부분에 대한 모든 액세스 권한을 보유하고 있으므로 프로세스의 어느 부분이든 공정한 게임입니다.

가능합니까?

감사합니다.

설명 : 내 앱에는 두 가지보기가 있습니다. 이것과 관련된 뷰는 조각들을 똑바로 내려다보고있는 OrthographicCamera를 사용하므로 실제로는 2D 뷰입니다. 이 질문의 목적을 위해 모델을 가져온 후에는 일정한 간격의 정사각형 격자처럼 보입니다.

업데이트 : 실제 답변을 제공 할 수 없다면 응답하지 마십시오. 뭔가를 성취 할 방법을 찾는 데 도움이 필요하면 새로운 질문을 게시 할 것입니다. 이 질문에 대해서는 수입 된 Collada 모델을 전체 픽셀에 맞추는 것이 가능한지, 그리고 그렇게 할 수 있는지에 대해서만 알고 싶습니다. 이 시점에서, 이것은 대부분 내 호기심을 제공하고 가능하지 않거나 불가능한 것에 대한 내 지식을 증가시키는 것입니다. 친절한 도움을 주신 커뮤니티에 감사드립니다.

+0

맵보기를 일반보기와 별도로 만들지 마시고 2D 캔버스 컨텍스트를 사용하여지도를 그리고 DOM에 추가하고 원하는 위치에 배치하거나 평면/쿼드의 질감으로 사용하십시오. 모든지도 블록에 대해 사각형을 렌더링하면됩니다. – Nimphious

+0

위에서 아래로 볼 때 큐브처럼 보입니다. 그러나 실제로는 아닙니다. 실제로 2D 뷰가 있지만 가능한 경우 Collada 모델을 사용하고 싶습니다. 2D보기가 없어도 걱정할 필요가 없으며 맞춤 모델을 만들 수도 있습니다. 내가 제안한 것이 가능한지 궁금했다. –

+0

그리드를 원한다면 간격을 두지 않고 정상적으로 렌더링 한 다음 맨 위에 그리드를 그리는 것이 어떻겠습니까? – Nimphious

답변

0

2 명의 동료 직원이 정상적인 방법으로는 불가능하다는 사실을 알았습니다.

0

이제 3D 프로그래밍에 대한이 일을 배울 수있다 : 숫자 아무것도 :)

현실 세계에서 1mm, 2.13cm100Kg 측정 및 재현 할 수있는 무언가를 지정을 의미하지 않는다. 그러나 드로잉 라이브러리의 경우이 숫자는 아무 의미도 없습니다.

도면 라이브러리에서 3D 점은 항상 3 개의 부동 소수점 값으로 표현됩니다. 점을 라이브러리에 제출하고 2D 점으로 변환하고 (2D 표면에서 표시해야 함) 마침내이 2D 점은 부동 소수점 값을 정수 값으로 변환하는 래스터 라이저 (화면의 해상도는 NxM 픽셀이며, 모두 NM은 정수임)에 전달되고 실제 픽셀에 색상이 지정됩니다.

문제는 간단하게 문제가되지 않습니다. 1mm 큐브는 실제로 아무것도 의미하지 않습니다. 왜냐하면 천문 응용 프로그램을 설계하는 경우 해당 개체는 절대로 볼 수 없기 때문입니다. 그러나 현미경 인 경우 화면보다 훨씬 커질 수 있습니다. 중요한 것은 좌표가이고 전체 응용 프로그램의 크기가입니다.

이제 큐브로 돌아가서 두 개의 인접한 큐브 사이에 1px을 삽입하지 마십시오.큐브는 mm으로 정의되므로 세계에 맞는 거리를 mm에서 선택하고 래스터 라이저가 작업을 수행하여 픽셀로 변환하도록하십시오.

+0

설명 : 내 앱에는 두 가지보기가 있습니다. 이것과 관련된 뷰는 조각들을 똑바로 내려다보고있는 OrthographicCamera를 사용하고 있습니다. 또한, 개체 사이에 1px를 두지는 않을 것입니다. 실제로는 그것이 무엇인지 밝혀졌습니다. 직선 캔버스를 사용하여 비슷한 버전을 만들었지 만 3D 옵션도 갖고 싶었습니다. 3D를 사용하면 제 질문이 무의미하다는 것을 이해합니다. 그러나 2D 표현을 사용하면 큐브 격자간에 균일 한 간격을 볼 수 있어야한다고 생각합니다. –

+0

큐브간에 포인트를 공유하려고 시도 했습니까? 코드 샘플을 제공 할 수 있습니까? 스크린 샷? – Raffaele

+0

나는 포인트를 공유하고 싶지 않습니다. 그 사이에 균등 한 간격으로 사각형 격자 (우리가 위에서 보았 기 때문에)처럼 보이기위한 것입니다. 이 프로젝트의 일부가 랩되고 코드가 의미가 없으므로 스크린 샷을 공유 할 수 없습니다. 어떻게 든 도움이 될지 확실하지 않습니다. 가능하거나 불가능합니다. 제 추측으로는 가능하지 않겠지 만, 제가 물어볼 거라고 생각했습니다. –

관련 문제