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.

../_images/editors_python-console_default.png

Bàn Giao Tiếp Python.

Giao Diện (Interface)

Trình Đơn Tiêu Đề (Header Menus)

Trình Đơn Góc Nhìn (View Menu)

Phóng To / Thu Nhỏ (Zoom In / Zoom Out)

Tăng/Giảm kích thước phông chữ của văn bản bảng điều khiển.

Chuyển đến Từ Đứng Trước (Move to Previous Word) Ctrl-Trái (Left)

Di chuyển con trỏ tới điểm đầu từ trước đây. Nếu con trỏ nằm ở giữa một từ thì con trỏ sẽ được chuyển tới điểm đầu của từ đó.

Chuyển đến Từ Tiếp Theo (Move to Next Word) Ctrl-Phải (Right)

Di chuyển con trỏ tới điểm cuối của từ tiếp theo. Nếu con trỏ nằm ở giữa một từ thì con trỏ sẽ được chuyển tới điểm cuối của từ đó.

Chuyển về Đầu Dòng (Move to Line Begin) Home

Di chuyển con trỏ đến đầu dòng hiện tại.

Chuyển đến Cuối Dòng End

Di chuyển con trỏ đến cuối dòng hiện tại.

Cửa Sổ Bàn Giao Tiếp Trình Đơn (Console Menu)

Xóa Toàn Bộ (Clear All)

Làm tươi mới bàn giao tiếp sẽ cung cấp cho góc nhìn một khởi đầu mới. Lưu ý rằng lịch sử lệnh sẽ không bị xóa đi.

Xóa Dòng Shift-Return.

Xóa mọi thứ khỏi dòng nhắc lệnh.

Xóa Từ Đứng Trước (Delete Previous Word) Ctrl-Phím Lùi (BackSpace)

Xóa mọi thứ giữa con trỏ và phần đầu của từ trước đó (phân tách bằng dấu chấm). Nếu con trỏ ở giữa một từ thì xóa mọi thứ về đầu từ hiện tại.

Xóa Từ Tiếp Theo (Delete Next Word) Ctrl-Xóa (Delete)

Xóa mọi thứ giữa con trỏ và cuối từ tiếp theo. Nếu con trỏ ở giữa một từ thì xóa mọi thứ đến cuối từ hiện tại.

Sao Chép thành Tập Lệnh Shift-Ctrl-C (Copy as Script Shift-Ctrl-C)

Sao chép bộ đệm lịch sử đầy đủ vào khay nhớ tạm, bộ đệm này có thể được dán vào một tập tin văn bản để được sử dụng như một tập lệnh Python.

Sao Chép (Copy) Ctrl-C

Sao Chép Lựa Chọn.

Dán (Paste) Ctrl-V

Dán vào dòng lệnh.

Thụt Dòng (Indent) Tab

Chèn thêm một ký tự thẻ tại vị trí con trỏ.

Bỏ Thụt Dòng (Unindent) Shift-Tab

Bỏ thụt dòng vùng lựa chọn.

Quay Ngược Lại trong dòng Lịch Sử (Backward in History) Lên (Up)

Thay đổi lệnh hiện tại thành lệnh trước đó khi chúng xuất hiện trong lịch sử dòng lệnh.

Tiến về Trước trong dòng Lịch Sử (Forward in History) Xuống (Down)

Thay đổi lệnh hiện tại thành lệnh tiếp theo khi chúng xuất hiện trong lịch sử dòng lệnh.

Tự động Hoàn Chỉnh (Autocomplete) Tab

Xem phần Auto Completion (Tự động Hoàn Chỉnh) để biết thêm thông tin.

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ào bpy.context.

  • D: Truy cập nhanh vào bpy.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ó.

../_images/editors_python-console_dir.png

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.

../_images/editors_python-console_completion.png

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ángMá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.

../_images/editors_python-console_bpy-context.png
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ặc bpy.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.

../_images/editors_python-console_bpy-data.png

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.