Filled Under: , , ,

TÍNH NĂNG MỚI TRONG PHẦN MỀM BLENDER: BLENDER 2.66 Image Transparency

Share
Blender 2.66 Image Transparency


Có 2 loại Alpha cho hình ảnh và chúng hữu ích trong những mục đích, trường hợp khác nhau đó là Straight Alpha và Premultiplied Alpha. Trước đây việc kích hoạt Premultiplication thường phải thực hiện thủ công, nhưng bây giờ mọi thứ có thể tự động!

Đối với compositing và rendering trong Blender thì Premultiplied là chuẩn, những hình được cho ra khi render hoặc compositing đều được đổi về chuẩn Premultiplied.


Straight Alpha là gì?
Là loại alpha được sử dụng trong các phần mềm vẽ như Photoshop, Gimp.... và được sử dụng cho các loại định dạng file ảnh như PNG, BMP hoặc Targa, hình texture hoặc hình Web thường sử dụng Straight Alpha.
Màu RGBA được trữ trong các kênh ( R, G, B, A) với RGB là kênh màu và không bị ảnh hưởng bởi kênh A (alpha).

Premultiplied Alpha là gì?

Khi render sẽ tạo ra hình có alpha Premultiplied, định dạng OpenEXR sẽ sử dụng loại alpha này. Những file render hoặc Compositing sẽ thường được trữ trong loại alpha này.
So với Straight Alpha, màu sắc có thể được lưu trữ như thế này (R*A,  G*A,  B*A,  A) với kênh alpha sẽ được nhân vào kênh RGB.
Premultiplied Alpha được xem như một sản phẩm tự nhiên khi render! với RGB đại diện cho lượng ánh sáng hướng về Viewer và Alpha đại diện cho lượng ánh sáng bị chặn bởi background.


Việc chuyển đổi giữa Straight Alpha và Premultiplied Alpha không dễ dàng, vì cả 2 loại alpha đều có thứ mà loại alpha kia không có

Mặc khác, Premultiplied Alpha có thể hiển thị ánh sáng được phun ra hoặc cho ánh sáng đi xuyên qua background, ví dụ như render lửa thì lửa có thể phát sáng và cũng có thể cho ánh sáng đặt phía sau nó đi xuyên qua. Khi convert sang Straight Alpha thì không được nhu thế.

Compositing


 Trong một số trường hợp nếu phải thực hiện compositing trên Straight Alpha thì chúng ta có thể sử dụng một node là Alpha Convert để chuyển về dạng Premultiplied.


Nếu Alpha được convert thành Straight Alpha trong một node Compositor thì chắc chắn nó sẽ được convert ngược lại thành Premultiplied Alpha trước khi đi ra Output Node.

 Blender Render Alpha
Ở Render Properties, trong tab Shading chúng ta có thêm 2 tùy chọn cho Alpha đó là:
Sky và Transparent.

Sky Render: Không có alpha do đó khi render vùng sky lúc này sẽ được fill bằng màu background.
Transparent Render:  Render có kênh alpha, và đầu ra output của nó sẽ là Premultiplied.

So với những phiên bản củ của Blender thì Straight rander đã được gỡ bỏ, sở dĩ như thế là vì bây giờ chúng ta có thể save và mọi thứ tự động, alpha nó tự động đúng thay vì phải khổ sở ngồi đó và chỉnh bằng tay như lúc xưa.
Ở chế độ Sky Alpha, đầu ra sẽ không tạo ra kênh alpha vì như thế sẽ cho kết quả không đúng, lưu hình ảnh thì những edge trong hình sẽ bị những răng cưa không đáng có.

Cycle Render Alpha:
Những tùy chọn trong Transparent vẫn không có thay đổi gì, khi transparent được kích hoạt để render thì kênh alpha Premultiplied sẽ được tạo ra, điểm khác biệt ở đây là chúng ta chẳng cần chuyển loại alpha để save dưới dạng PNG hoặc các file tương tự khác, nói tóm lại bạn chẳng làm gì hết, mọi thứ là tự động.

Open GL Render Alpha:
Open GL Render sẽ hoạt động giống như Blender Internal nếu như chúng ta chỉnh Alpha là Sky render, không có transparency và hiển nhiên đầu ra sẽ chẳng có kênh alpha nào cả.
Nếu trường hợp chế độ alpha Alpha Mode có thiết lập transparent thì những vùng màu đen sẽ là trong suốt.



File hình ảnh





Hình ảnh lưu sẽ được tự động convert kênh alpha sao cho phù hợp với định dạng của file ảnh khi chúng ta lưu.


+  Định dạng 8 Bit ( ví dụ như PNG) sẽ được lưu với Straight Alpha,.
+  Định dạng Float (ví dụ như OpenEXR, DPX) sẽ được lưu với Premultiply Alpha.

+  Định dạng TIFF sẽ có đôi chút khác vì nó hỗ trợ cả hai loại alpha.

+ 8 Bit sẽ được lưu với Straight Alpha nhưng 16 bit sẽ được lưu với Premultiplied Alpha.

Chúng ta có thể để yên mọi thứ, không vấn đề gì nhưng nếu trong một số trường hợp đặc biệt chúng ta muôn 1 chúng khác để phù hợp với nhu cầu của chúng ta thì thì có thể chỉnh tay.

Một tùy chọn alpha liên quan đã được thêm gọi là User Alpha, nếu bạn disable nó, thì image sẽ không còn Transparent nó chỉ còn Opaque. Tùy chọn này thay thế User Alpha for texture.
__________________________________________________________________________


Tác Giả: Đặng Duy Quang từ http://www.phanmemblender.com/