njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Loading...
Searching...
No Matches
Phần 7: Nâng cao

Mức: nâng cao. Những trang này không cần cho một game chạy được. Đọc khi game đã có và bạn muốn đẹp hơn, nhanh hơn, nhiều nội dung hơn, hoặc muốn hiểu engine bên trong. Mỗi trang độc lập, đọc theo nhu cầu.

Phạm vi: Vẽ ảnh và shader, Shader nâng cao: ảnh phụ, mảng uniform, ánh sáng và Hậu kỳ (post-processing) là 2D. Đồ họa 3D là 3D, trang riêng cho toàn bộ njin_3d.h (camera phối cảnh, hình khối, SDF, model, ánh sáng có bóng đổ, instancing). Sinh bản đồ tự động và Công cụ debug: njin_inspector dùng chung cho cả hai.

Đồ họa

Trang Bạn được gì
Vẽ ảnh và shader Texture, atlas, shader, instancing (hàng nghìn hình bằng một lệnh vẽ), sửa ảnh và shader khi game đang chạy
Đồ họa 3D Camera phối cảnh, hình SDF mịn, model glTF, ánh sáng có bóng đổ, hạt 3D, instancing, chọn vật bằng tia, gizmo
Thế giới ngoài trời 3D Địa hình có va chạm, cỏ, đá và cây rải theo luật, hồ và biển có sóng, vật nổi, bầu trời theo giờ, mưa, tuyết, sương
Hiệu ứng màn hình 3D Góc tường tối đi (SSAO), sàn bóng phản chiếu, vết đạn và sơn dán lên mọi bề mặt (decal), mờ chuyển động, tia nắng, lóa ống kính
Video Phát video có tiếng: cutscene toàn màn hình, màn hình TV trong thế giới 3D
Chỉ vẽ phần camera thấy: instance theo ô Chỉ vẽ phần camera thấy của hàng chục nghìn instance, hình mịn ở gần và hình ít mặt ở xa
Ánh sáng 2D (PBR) Ánh sáng 2D dựa trên vật lý (PBR): đèn điểm, nón, hướng; bóng đổ mềm từ vật chắn hình bất kỳ; normal map, vật liệu MRA, phát sáng, tonemap; bóng từng pixel theo bài của mattdesl
Shader nâng cao: ảnh phụ, mảng uniform, ánh sáng Shader đọc thêm ảnh (bảng màu, nhiễu), nhận mảng uniform (đèn), chạy trên cả khung hình, nhiều lượt vẽ nối nhau
Hậu kỳ (post-processing) Hiệu ứng toàn màn hình: bloom, CRT, vignette, blur

Muốn tự viết shader thì học trước ba bài shader trong Kiến thức nền: học trước khi làm game (bài 10 đến 12).

Di chuyển

Trang Bạn được gì
Tìm đường 3D và đám đông Quái tự tìm đường quanh tường, lên dốc, qua khe trong màn 3D, đi thành đám đông không đâm vào nhau
Đường cong (spline) Camera chạy trên ray, bục di chuyển, lối tuần tra dọc đường cong mượt, đi đều theo khoảng cách

Nội dung

Trang Bạn được gì
Sinh bản đồ tự động Tự sinh bản đồ bằng nhiễu, luật, bo góc và Wave Function Collapse

Script

Trang Bạn được gì
Script Lua Viết luật chơi và hành vi của entity bằng Lua, sửa file khi game đang chạy, gọi hàm qua lại giữa C++ và Lua

Công cụ

Trang Bạn được gì
Công cụ debug: njin_inspector njin_inspector: xem FPS, entity, collider, log trong một cửa sổ riêng

Muốn hiểu engine bên trong thì xem Kiến trúc bên trong ở Phụ lục.