Bàn Giao Tiếp Python (Python Console)
Bảng điều khiển Python là một phương pháp nhanh chóng để thực thi các lệnh, với quyền truy cập vào toàn bộ API Python, lịch sử lệnh và Tự động Hoàn Chỉnh. Dấu nhắc lệnh là điển hình cho Python 3.x, trình thông dịch được nạp và sẵn sàng chấp nhận các lệnh tại dấu nhắc >>>
.
Bàn giao tiếp Python là một phương pháp tốt để khám phá các khả năng của Python được tích hợp sẵn trong Blender. Bàn giao tiếp Python có thể được sử dụng để kiểm tra các phần nhỏ của mã Python, sau đó có thể được dán vào các tập lệnh lớn hơn.
Giao Diện (Interface)
Khung Nhìn Chính (Main View)
Những Bố Trí Phím (Key Bindings)
Left/Right - Chuyển động con trỏ.
Ctrl-Left/Ctrl-Right - Chuyển động con trỏ, theo từng từ.
Backspace/Delete - Xóa ký tự.
Ctrl-Backspace/Ctrl-Delete - Xóa từ.
Return - Thực hiện lệnh.
Shift-Return - Thêm vào lịch sử lệnh mà không cần thực thi.
Cách Sử Dụng (Usage)
Bí Danh (Aliases)
Một số biến số và mô-đun có sẵn để sử dụng thuận tiện:
C
: Truy cập nhanh vàobpy.context
.D
: Truy cập nhanh vàobpy.data
.bpy
: Mô-đun ở cấp bậc cao nhất trong API Python của Blender.
Làm Quen với Môi Trường Bàn Giao Tiếp (First Look at the Console Environment)
Để kiểm tra những gì được tải vào môi trường thông dịch thì hãy nhập dir ()
tại dấu nhắc và thực thi nó.
Tự Động Hoàn Chỉnh (Auto Completion)
Bây giờ thì hãy nhập bpy.
và sau đó nhấn Tab và bạn sẽ thấy tính năng tự động hoàn chỉnh của Bàn Giao Tiếp hoạt động như thế nào.
Bạn sẽ nhận thấy rằng danh sách các mô-đun phụ bên trong bpy
xuất hiện. Các mô-đun này gói gọn toàn bộ những gì chúng ta có thể thi hành với Blender Python API được và là những công cụ rất mạnh mẽ.
Cho phép liệt kê toàn bộ nội dung của mô-đun bpy.app
.
Lưu ý đầu ra màu xanh lá cây phía trên dòng nhắc lệnh nơi bạn đã bật tính năng Tự Động Hoàn Chỉnh. Những gì bạn thấy là kết quả của danh sách hoàn chỉnh tự động. Trong danh sách trên, chúng ta thấy toàn bộ các tên được quy cho mô-đun, nhưng nếu bạn thấy bất kỳ tên nào kết thúc bằng (
thì đó là một hàm.
Chúng ta sẽ tận dụng điều này rất nhiều để giúp việc học API của chúng mình nhanh hơn. Bây giờ bạn đã hiểu biết về nó, xin hãy tiến hành điều tra một số mô-đun trong bpy
nhé.
Trước Khi Thí Nghiệm với các Mô-Đun (Before Tinkering with the Modules)
Nếu bạn nhìn vào Cổng Nhìn 3D trong cảnh Blender mặc định thì bạn sẽ nhận thấy ba đối tượng: Khối Lập Phương, Nguồn Ánh Sáng và Máy Quay Phim.
Toàn bộ các đối tượng tồn tại trong một ngữ cảnh và có thể có nhiều chế độ khác nhau mà chúng được vận hành.
Tại bất kỳ thời điểm nào, chỉ có một đối tượng là đang hoạt động mà thôi và có thể có nhiều hơn một đối tượng được chọn.
Toàn bộ các đối tượng đều là dữ liệu trong tập tin blend.
Chúng ta có các thao tác/hàm để tạo và sửa đổi các đối tượng này.
Trong mọi tình huống được liệt kê ở trên (không phải toàn bộ đều được liệt kê đâu nhé, để ý...) mô-đun bpy
là mô-đun cung cấp chức năng để truy cập và sửa đổi dữ liệu.
Một Số Ví Dụ (Examples)
bpy.context
Ghi chú
Để các lệnh bên dưới hiển thị đầu ra chỉnh tru thì xin hãy đảm bảo rằng bạn đã chọn (các) đối tượng trong Cổng Nhìn 3D.
bpy.context.mode
Sẽ in chế độ Cổng Nhìn 3D hiện tại (Đối Tượng, Biên Soạn, Điêu Khắc, v.v.).
bpy.context.object
hoặcbpy.context.active_object
Sẽ cung cấp cho bạn quyền truy cập vào đối tượng đang hoạt động trong Cổng Nhìn 3D.
Thay đổi vị trí X thành giá trị 1
bpy.context.object.location.x = 1
Di chuyển đối tượng từ vị trí X trước đó đi 0.5 đơn vị
bpy.context.object.location.x += 0.5
Thay đổi vị trí X, Y, Z
bpy.context.object.location = (1, 2, 3)
Chỉ thay đổi các thành phần X, Y
bpy.context.object.location.xy = (1, 2)
Kiểu dữ liệu vị trí của đối tượng
type(bpy.context.object.location)
Thấy không, lượng dữ liệu mà bạn có quyền truy cập là rất nhiều đấy, phải không
dir(bpy.context.object.location)
bpy.context.selected_objects
Sẽ cấp quyền truy cập vào danh sách toàn bộ các đối tượng đã chọn.
Đánh máy chữ dòng này và sau đó nhấn phím Tab:
bpy.context.selected_objects
Để in ra tên của đối tượng đầu tiên trong danh sách
bpy.context.selected_objects[0]
Cái phức tạp hơn... Song dòng này sẽ in ra một danh sách các đối tượng không bao gồm đối tượng đang hoạt động
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
bpy.data
bpy.data
có các chức năng và thuộc tính cho phép bạn truy cập vào toàn bộ dữ liệu trong tập tin blend.
Bạn có thể truy cập dữ liệu sau trong tập tin tin blend hiện tại: đối tượng, khung lưới, nguyên vật liệu, chất liệu, cảnh, màn hình, âm thanh, tập lệnh, v.v.
Quá nhiều dữ liệu, phải không.
bpy.ops
Hệ thống công cụ được xây dựng xung quanh khái niệm về người vận hành. Các thao tác thường được thực thi từ các nút hoặc trình đơn nhưng cũng có thể được gọi trực tiếp từ Python nữa.
Xin xem thêm bài bpy.ops.wm để xem toàn bộ danh sách.