2012-12-27 36 views
6

Câu hỏi: Có thể lật/phản chiếu kết cấu sprites Three.js không?Three.js: Có thể lật một sprite không?

nền: Sử dụng chi nhánh DEV hiện tại của three.js

phát hiện cho đến nay: đầu tiên tôi try'd để thay đổi nó là 3d xoay mà không có hiệu lực. Sau đó, tôi kiểm tra mã sprites và thấy rằng quay được reseted trong dòng này trong Sprite.js:

this.rotation3d.set(0, 0, this.rotation); 

Thay đổi giá trị không có hiệu lực. Đào sâu hơn tôi đã kết thúc trong plugin SpriteRenderer, nơi tôi đã hoàn toàn bị mất.

Hiểu biết của tôi là ba.js đang sử dụng trình tạo bóng để hiển thị các sprites và đây là một hiệu suất rất lớn cộng thêm. Vì vậy, viết thực hiện sprite của riêng tôi bằng cách sử dụng khuôn mặt đơn giản cảm thấy giống như hướng sai.

+0

Bạn luôn có thể cung cấp riêng 'ShaderMaterial' của bạn cho BA ma, nhưng nó có vẻ như một overkill. –

Trả lời

6

Okey, đây là một cảnh quay dài nhưng hãy thử đặt số của sprite của bạn thành -1 (theo hướng bạn muốn lật).

+0

Tác phẩm này. Thanh lịch và đơn giản. Cảm ơn :) –

2

cách dễ nhất để lật kết cấu thực sự là lật hình ảnh kết cấu trước khi tải lên GPU.

+0

Thật là xấu hổ, thực sự :) –

+0

Nhưng đến nay cách dễ nhất để làm điều đó, ngay cả khi bạn phải làm điều đó trong thời gian chạy. – Gero3

+0

Nếu câu trả lời của tôi hoạt động (tôi không chắc chắn và không thể kiểm tra nó ngay bây giờ), tôi sẽ tranh luận. –

2

Chỉ cần đăng nó như là một sự thay thế:

texture = new three60.THREE.Texture(video); 
texture.repeat.set(-1, 1); 
texture.offset.set(1, 0); 
+0

Điều này làm việc cho tôi w/một kết cấu video được trên BackSide của một SphereGeometry. –

Các vấn đề liên quan