Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Hệ thống camera được thiết kế tốt có thể hấp dẫn người chơi và cho họ góc nhìn tốt hơn. Tạo hệ thống camera trong Godot đơn giản nhưng hiệu quả. Dưới đây là hướng dẫn chi tiết.

Trước khi bắt đầu, bạn cần tạo một thế giới game 2D và nhân vật trong Godot Game Engine mà camera có thể theo dõi.
Tạo cảnh 2D mới và thêm node CharacterBody2D. Nó sẽ hoạt động như nhân vật người chơi. Bên trong CharacterBody2D, thêm CollisionShape2D và đặt hình dạng của nó sang RectangleShape2D để cung cấp sự hiện diện vật lý của người chơi trong thế giới này.
Ngoài ra, bên trong CharacterBody2D, thêm node Sprite2D và gắn ảnh nhân vật người chơi vào nó. Tạo một script mới được gắn vào node CharacterBody2D và thêm code sau:
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
var velocity = Vector2()
if Input.is_action_pressed('ui_right'):
velocity.x += 1
if Input.is_action_pressed('ui_left'):
velocity.x -= 1
if Input.is_action_pressed('ui_down'):
velocity.y += 1
if Input.is_action_pressed('ui_up'):
velocity.y -= 1
velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)
Với code này, nhân vật người chơi giờ có thể di chuyển theo cả 4 hướng và sẽ va chạm với các nền tảng.

Bước tiếp theo là tạo camera theo dõi chuyển động của người chơi. Thêm node Camera2D làm con của node CharacterBody2D. Điều này đảm bảo camera sẽ luôn theo dõi người chơi. Để làm chuyển động mượt mà hơn, kích hoạt thuộc tính làm mượt vị trí của node Camera2D.
$Camera2D.enabled = true $Camera2D.position_smoothing_enabled = true
Việc hạn chế tầm nhìn của người chơi trong khu vực game thường rất quan trọng. Tuy nhiên, nếu không xử lý việc này đúng cách, camera có thể mở ra các vùng nằm ngoài phạm vi của game. Chúng có thể bao gồm các khoảng trống hoặc khu vực chưa hoàn thiện.
Godot cung cấp cách dễ dàng đặt các giới hạn camera và hạn chế chuyển động của nó trong khu vực chơi.
Trong thuộc tính node Camera2D, bạn có 4 biến: limit_left, limit_top, limit_right, và limit_bottom. Chúng quyết định các ranh giới của camera. Bạn có thể đặt những giá trị này theo kích thước thế giới game.
$Camera2D.limit_left = 0 $Camera2D.limit_top = 0 $Camera2D.limit_right = your_game_area_width $Camera2D.limit_bottom = your_game_area_height
Thay thế your_game_area_width và your_game_area_height bằng chiều rộng & cao của thế giới game. Tập lệnh này hạn chế hiệu quả camera trong khu vực mong muốn, cung cấp cách chơi rõ ràng và tập trung.
Tính năng phóng to và thu nhỏ có thể là công cụ giúp tạo ra những khoảnh khắc ấn tượng trong game. Ví dụ, bạn có thể muốn phóng to nhân vật người chơi trong một hành động mạnh mẽ hoặc thu nhỏ để hiện kẻ thù lớn hay xem toàn cảnh thế giới game.

Godot khiến việc thu nhỏ, phóng to dễ dàng với thuộc tính zoom của node Camera2D. Thuộc tính này là Vector2, cấp thu phóng mặc định là (1,1). Giá trị cao hơn sẽ thu nhỏ, khiến các đối tượng được xem xuất hiện nhỏ hơn, còn giá trị thấp hơn sẽ phóng to, làm đối tượng xuất hiện lớn hơn.
Để phóng to, dùng:
$Camera2D.zoom = Vector2(0.7, 0.7)
Để reset chế độ thu phóng, dùng:
$Camera2D.zoom = Vector2(1, 1)
Giá trị bạn chuyển sang Vector2() quyết định cấp thu phóng trên trục X và Y. Một giá trị zoom (0.7, 0.7) có nghĩa camera sẽ phóng to, còn (1.5, 1.5) có nghĩa camera sẽ thu nhỏ.

Bạn nên giữ giá trị giống nhau cho cả hai trục để duy trì tỉ lệ khung hình, nhưng bạn có thể thử nghiệm các giá trị khác để đạt được hiệu ứng độc đáo.
Hi vọng bài viết hữu ích với các bạn!
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Cách biến ảnh thật thành nghệ thuật cắt giấy 3D nhiều lớp bằng AI
Prompt tạo ảnh chân dung nghệ thuật đen trắng cực chất bằng AI
Viết bài đăng mạng xã hội thu hút sự chú ý với sự hỗ trợ của AI
Cách chuyển ghi chú viết tay thành infographic
20+ câu lệnh AI biến ảnh gốc thành nghệ thuật cắt giấy 3D nhiều lớp
Lên lịch và tạo hàng loạt bài đăng với sự trợ giúp của AI
Hướng dẫn xóa logo trong video bằng CapCut
Gắn kết và xây dựng cộng đồng trên mạng xã hội với AI
Phân tích và quyết định dựa trên dữ liệu với AI
Đo lường hiệu quả đào tạo: Mô hình Kirkpatrick
Xây dựng hệ thống đào tạo doanh nghiệp với AI
Cách tạo hình ảnh AI trên Gamma
Cách kết nối Google Docs với n8n
Prompt tạo ảnh mục tiêu kế hoạch trên ChatGPT nhiều phong cách
Hướng dẫn tạo trò chơi ô chữ Crossword trên Educaplay
Prompt tạo infographic món ăn cực đẹp bằng AI
Prompt tạo ảnh sản phẩm chuyên nghiệp như studio chụp quảng cáo
Framework ADDIE: Thiết kế hướng dẫn được tăng tốc bởi AI
Đánh giá nhu cầu đào tạo bằng AI
Xây dựng nội dung đào tạo bằng AI