clara.io에서 내 보낸 3D Dog JSON 모델에 텍스처를 추가하려고합니다. Ojectloader를 사용하여 3D 모델을로드 한 다음 Textureloader를 사용하여 텍스처를로드하려고 시도했지만 텍스처가 모델에로드되지 않는 것 같습니다.json 개체에 텍스처 추가 - three.js
내 코드가 잘못되었거나 잘못된 위치에있을 수 있습니다. 나는 사람들이이 일을 어떻게했는지에 대한 다른 예를 보려고했지만 많은 행운을 얻지 못했습니다. 문제는 질감이 모델에 이미지를로드하지 않는 것입니다. 또한 크롬에서도 콘솔에 오류가 없습니다.
아무도 도움이 될 수 있으면 감사드립니다.
<!DOCTYPE html>
<html lang="en">
<head>
<title>three.js webgl - loaders - Clara.io JSON loader</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body {
font-family: Monospace;
background-color: #000;
color: #fff;
margin: 0px;
overflow: hidden;
}
#info {
color: #fff;
position: absolute;
top: 10px;
width: 100%;
text-align: center;
z-index: 100;
display:block;
}
#info a, .button { color: #f00; font-weight: bold; text-decoration: underline; cursor: pointer }
</style>
</head>
<body>
<script src="three.js"></script>
<script src="Detector.js"></script>
<script src="stats.min.js"></script>
<script src="UnpackDepthRGBAShader.js"></script>
<script src="ShadowMapViewer.js"></script>
<script src="dat.gui.min.js"></script>
<script src="OrbitControls.js"></script>
<script>
var container, stats;
var camera, scene, renderer;
var mouseX = 0, mouseY = 0;
var windowHalfX = window.innerWidth/2;
var windowHalfY = window.innerHeight/2;
init();
animate();
function init() {
container = document.createElement('div');
document.body.appendChild(container);
camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 1, 2000);
camera.position.z = 4;
// scene
scene = new THREE.Scene();
var ambient = new THREE.AmbientLight(0x444444);
scene.add(ambient);
var directionalLight = new THREE.DirectionalLight(0xffeedd);
directionalLight.position.set(0, 0, 1).normalize();
scene.add(directionalLight);
//new attempt at a texture and object loader
var loader = new THREE.TextureLoader();
loader.load("dogtexture.jpg", function (texture) {
var material = new THREE.MeshBasicMaterial({ map: texture });
var objectLoader = new THREE.ObjectLoader();
objectLoader.load("blue-dog1.json", function(obj, texture) {
obj.scale.set(.04, .04, .04);
scene.add(obj,texture);
});
});
// BEGIN Clara.io JSON loader code
//var objectLoader = new THREE.ObjectLoader();
//objectLoader.load("blue-dog.json", function (obj) {
//obj.scale.set(.045, .045, .045);
//scene.add(obj);
//});
//var loader = new THREE.TextureLoader();
//loader.load("dogtexture.jpg", function (texture) {
// do something with the texture
//var material = new THREE.MeshNormalMaterial({ map: //texture});
//});
// END Clara.io JSON loader code
renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
container.appendChild(renderer.domElement);
}
//
function animate() {
requestAnimationFrame(animate);
render();
}
function render() {
camera.position.x = 400;//vertical camera angle
camera.position.y = 300;
camera.position.z = 150;
camera.lookAt(scene.position);
renderer.render(scene, camera);
}
</script>
</body>
</html>
안녕하세요. 회신 해 주셔서 감사합니다. 내가 실험하고 있던 재료들. 그러나 나는 그것들을 모두 시험해 보았고 아무것도 모델에 영향을 미치지 않았다. – shaneo
모델에 기본 재질이 있기 때문에 텍스처 로더 콜백에서 생성 한 모델이 모델에 추가되지 않습니다 – 2pha
방금 textureloader 설명서의 예제를 사용했는데 어떻게됩니까? – shaneo