Blender에서 Collada 메쉬 설명 파일을 익스포트 한 후 이상한 문제가 있음을 발견했습니다.Collada를 사용하여 블렌더에서 내 보낸 파일과 이상한 동작을 보임 수출업자
문맥을 살펴 봅시다. 저는 비행기에서 간단한 텍스처 맵핑을 적용하기로 한 매우 간단한 프로젝트를 만들었습니다.
여기
은 재료 구성의 사진입니다 : 여기
출력의 화면입니다당신이 볼 수 있듯이, 물질 확산 구성 요소는 모두 동일하다 0.7 (Kd 0.7 0.7 0.7)이다.
그리고 재료에 부착 마지막으로 질감
은 :그것은 'floor_COLOR.jpg'이다.
# Blender MTL File: 'bumped_plane.blend'
# Material Count: 1
newmtl PlaneMtl
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.70000 0.70000 0.70000 //Material diffuse components
Ks 0.889474 0.889474 0.889474
Ni 1.000000
d 1.000000
illum 2
map_Kd floor_COLOR.jpg
당신이 모든 자료 데이터가 조직 수준에서 존경 볼 수 있듯이 :
이제, 여기에 최초의 파면 OBJ 로더 (재료 부분)에서 출력 파일의 우리 모두가 확산 물질 구성 요소가 0.7이고 확산 맵은 'floor_COLOR.jpg'입니다. 이제
의이 콜라다 수출에서 내 보낸 파일의 코드 조각을 살펴보기로하자,하지만 질감없이 처음에 (의이 확산 물질의 구성 요소에 초점을 맞출 수 있도록) :
[...]
<diffuse>
<color sid="diffuse">0.7 0.7 0.7 1</color>
</diffuse>
[...]
을 당신이 볼 수 있듯이 나는 모든 확산 물질 데이터를 정확하게 복구했습니다.
그러나 나는 다음과 같은 결과를 텍스처 매핑을 사용하여 내 파일을 내보낼 수 있는지 알고 :
이[...]
<image id="floor_COLOR_jpg" name="floor_COLOR_jpg">
<init_from>floor_COLOR.jpg</init_from>
</image>
[...]
<diffuse>
<texture texture="floor_COLOR_jpg-sampler" texcoord="UVMap"/>
</diffuse>
[...]
좋아, 내가 경로와 내 텍스처의 종류를 회복하지만 어디 확산 물질의 구성 요소가됩니다? 나를 위해
결과가 같은 것을 같아야
diffuse_color = gl_LightSource.diffuse * gl_FrontMaterial.diffuse * dot(NormalDir, LightDir)
diffuse_color *= fragment_color_from_diffuse_texture //Here 'floor_COLOR.jpg' (sampler2D)
'gl_FrontMaterial.diffuse'은 물질 성분을 확산 지칭
(Kd를 :
<diffuse>
<texture texture="floor_COLOR_jpg-sampler" texcoord="UVMap"/>
<color sid="diffuse">0.7 0.7 0.7 1</color>
</diffuse>
디퓨즈 퐁 쉐이딩 방정식은 다음과 같다)! 이 내보내기로
나는 방정식이 같아야 인상을 가지고diffuse_color = gl_LightSource.diffuse * fragment_color_from_diffuse_texture * dot(NormalDir, LightDir)
하지만 해결되지입니다!
그래서 왜 확산 재료 구성 요소가 사라 졌습니까?
미리 도움 주셔서 감사합니다.
감사합니다. 나는 버그 보고서를 제출할 것이다. – user1364743