Hỏi về khoảng cách đổ bóng trong Three.js

Cách xa tọa độ (0,0,0) dưới 500:


Cách xa tọa độ (0,0,0) trên 500:

Mình để 1 vật trong khoảng -500 tới 500 thì nó đổ bóng, mà sao ngoài khoảng này thì không có bóng nữa vậy?

Mình đã thử chỉnh .shadow.camera nhiều lần rồi nhưng không thấy đổ bóng bên ngoài khoảng cách này được. Tìm trên trang chủ hay google cũng không thấy nó nói gì cả :frowning:

Ai biết làm thế nào để đổ bóng ngoài phạm vi này giúp mình với :((


Đây là camera di chuyển theo người chơi:

		camera.position.x = player.position.x;
		camera.position.y = player.position.y + 500;
		camera.position.z = player.position.z + 250;
		camera.lookAt(player.position.x, player.position.y, player.position.z);

Đây là ánh sáng:

	sun = new THREE.DirectionalLight(0xFFFF6F);
	sun.position.set(400,500, 100);
	sun.castShadow = true;
	sun.shadow.camera.left = -500;
	sun.shadow.camera.right = 500;
	sun.shadow.camera.top = 500;
	sun.shadow.camera.bottom = -500;
	sun.shadow.camera.near = 1;
	sun.shadow.camera.far = 10000;
	sun.shadow.mapSize.width = 512;
	sun.shadow.mapSize.height = 512;
	scene.add(sun);

Ai biết giúp mình với
:slight_smile: :wink:

Ủa, lại được rồi. Nãy chỉnh shadow.camera.left right top bottom không được mà giờ lại được rồi. Xin lỗi đã làm phiền mọi người nha :frowning:

2 Likes

Đang làm game j vậy bạn :relaxed:

Ủa lại nữa. Tại sao cái màu đỏ cánh quạt quay mà cái xanh cánh quạt không quay rồi. Tạo bao nhiêu cái thì chỉ cái thứ 1 cánh quạt quay thôi.

Code:

	windmill1 = new Windmill(0x2AAFFF);
	windmill1.position.set(200, 50, 0);
	scene.add(windmill1);
	
	windmill2 = new Windmill(0xff0000);
	windmill2.position.set(-200, 50, 0);
	scene.add(windmill2);

Mặc dù update là update riêng cái cánh quạt của Windmill(), nhưng mà lúc tạo windmill1 và windmill2 thì chỉ cái windmill1 cánh quạt quay thôi :frowning:

Ai biết giúp mình với

Đã biết làm game gì đâu bạn, vẫn đang mò mẫm các kiểu đây :frowning:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?