Đến nội dung
codecrush®
Our Process12 min read12 tháng 9, 2026

Đề xuất chiến dịch chơi được & mô hình 3D riêng

Phần lớn agency pitch bằng slide. Chúng tôi gửi một prototype chơi được và một mô hình 3D đã rig, xoay ngay trên trình duyệt. Quy trình của Code Crush.

Code Crush Team

Gamification Agency

Một concept chiến dịch của Code Crush được dựng trong Blender và render thời gian thực trên web

Agency nào cũng viết được một bộ deck. Mười slide chiến lược, một moodboard, một cơ chế được mô tả trong một đoạn văn cẩn thận, và một dòng ngân sách ở gần cuối: asset 3D: sẽ xác định sau.

Chúng tôi đã ngừng làm như vậy.

Khi Code Crush trả lời một brief, sản phẩm giao là một đường link. Bạn mở nó trên điện thoại ngay trong buổi họp và thứ đó chuyển động: một game bạn có thể thua thật, một vòng quay xoay thật, một mascot bạn kéo bằng ngón tay. Chiến lược vẫn ở đó — chỉ là nằm dưới một thứ bạn có thể bấm vào.

Đây là phiên bản trung thực về cách nó được làm ra. Một đề xuất chiến dịch gồm những gì, chúng tôi dựng và rig phần 3D ra sao, chỗ nào là phần khó, và chúng tôi từ chối hứa điều gì.

Một concept của Code Crush được dựng và render trong Blender, rồi đưa lên trình duyệt như một scene 3D thời gian thực. Bản đề xuất và asset sản xuất là cùng một file.
Một concept của Code Crush được dựng và render trong Blender, rồi đưa lên trình duyệt như một scene 3D thời gian thực. Bản đề xuất và asset sản xuất là cùng một file.

Vì sao phần lớn đề xuất chết ngay trong phòng họp

Một bộ deck bắt khách hàng phải tự tưởng tượng. Nó mô tả một cảm giác — "vui", "nhập vai", "dễ chơi" — rồi yêu cầu một giám đốc marketing ký ngân sách dựa trên hình ảnh trong đầu họ. Hai chuyện sẽ sai.

Hình ảnh trong phòng họp không phải cùng một hình ảnh. Mọi người cùng gật đầu với "vòng quay 3D trúng thưởng", rồi bốn tuần sau đội thương hiệu mới bất ngờ về ánh sáng, về độ nặng của vòng quay, về cách kim dừng lại. Không ai nói dối. Chỉ là chưa ai từng nhìn cùng một thứ.

Deck che mất rủi ro. Slide không có ma sát. Nó không bao giờ tiết lộ rằng cơ chế cần một nền tảng đã đóng cửa năm ngoái, rằng mô hình 3D sẽ không tải được trên một máy Android tầm trung trong trình duyệt nội bộ của TikTok, hay rằng logic trả thưởng không thể kiểm toán. Những phát hiện đó đến sau khi đã có đơn đặt hàng.

Một đề xuất chơi được xóa cả hai vấn đề ngay ngày đầu. Nếu nó chạy, nó chạy. Nếu không, bạn biết trước khi tiền chuyển đi.

Một đề xuất của Code Crush gồm những gì

Mỗi đề xuất đều được dựng từ năm phần giống nhau. Tỷ lệ thay đổi theo brief; hình dạng thì không.

Sản phẩm giaoThực chất là gì
Prototype chơi đượcMột bản build thật trên một URL thật. Điện thoại, máy tính, QR trên poster, trình duyệt nội bộ.
Asset 3DNguồn Blender sửa được cộng glTF sẵn cho web, dựng theo kích thước thật của brief.
Render giới thiệuKey visual render offline cho deck, cho việc bán nội bộ của khách và cho social.
Spec cơ chế và phần thưởngĐiểm, xác suất, thưởng đảm bảo, bảng xếp hạng, và chỗ kiểm tra gian lận.
Một trang giới hạnNhững gì prototype chưa làm được, và những gì một chiến dịch thật còn cần.

Phần cuối đôi khi làm chúng tôi mất một pitch. Nhưng nó chưa bao giờ làm chúng tôi mất một khách hàng sau khi ký, và đó là cái giá chúng tôi chọn.

Quy trình, từng bước

1Đọc brief theo đúng chữ. Chúng tôi ghi lại các cơ chế đúng như yêu cầu — phương pháp tracking, thời lượng lượt chơi, điều kiện bonus, hạng phần thưởng, kênh — trước khi có bất kỳ ý kiến nào.
2Đối chiếu từng yêu cầu với thực tế. Nền tảng đó còn tồn tại không? Tracking có chạy trên đúng những máy mà khán giả đang cầm không? Logic trả thưởng có sống nổi qua một cuộc kiểm toán không? Đây là bước một đề xuất đáng giá tiền.
3Dựng vật thể chủ đạo trước. Vòng quay, bao bì, máy arcade, mascot — thứ mà chiến dịch nói về được dựng 3D trước cả giao diện, vì mọi thứ còn lại lấy kích thước từ nó.
4Dựng vòng lặp chơi được. Một hành trình trọn vẹn: intro, chơi, kết quả, phần thưởng, chia sẻ. Không phải mọi màn hình. Là vòng lặp.
5Xuất visual cho deck từ cùng scene đó. Key visual đến từ đúng mô hình vừa dựng, nên slide và bản build không thể nói khác nhau.
6Viết ra các giới hạn. Rồi gửi một đường link duy nhất.
Một concept đề xuất được dựng trong Blender và chạy thời gian thực trên web: các bộ phận tĩnh được gom theo vật liệu để giảm draw call, còn quạt, các nút điều khiển và màn hình vẫn tách riêng để có thể chuyển động.
Một concept đề xuất được dựng trong Blender và chạy thời gian thực trên web: các bộ phận tĩnh được gom theo vật liệu để giảm draw call, còn quạt, các nút điều khiển và màn hình vẫn tách riêng để có thể chuyển động.

Khi brief yêu cầu một nền tảng không còn tồn tại

Ví dụ rõ nhất cho giá trị của bước hai đến từ Decathlon Việt Nam, khi họ yêu cầu một game filter AR lan truyền có face tracking trên TikTok và Instagram.

Chúng tôi không thể làm đúng brief đó, và không ai khác làm được. Meta đã đóng Spark AR — nền tảng filter AR cho bên thứ ba — vào 14 tháng 1 năm 2025, nên filter Meta tùy chỉnh không còn xuất bản được nữa. Effect House của TikTok vẫn còn, nhưng đó là một editor đóng: phần thưởng, CRM và kiểm tra gian lận của bạn phải sống trong sandbox của người khác.

Vì vậy chúng tôi giao cùng trải nghiệm đó dưới dạng WebAR — face tracking bằng MediaPipe FaceLandmarker của Google, chạy trong trình duyệt di động, chia sẻ bằng link hoặc QR. Một link chạy được trong trình duyệt nội bộ của TikTok, Instagram, Zalo, Messenger hay từ một poster, và toàn bộ vòng thưởng-dữ liệu vẫn là first-party. Bản viết đầy đủ nằm ở Decathlon « Deal Frenzy »: game filter khuôn mặt WebAR chia sẻ được.

Đó là việc của một đề xuất. Không phải để tô vẽ cho brief — mà để tìm ra bức tường trước khi chiến dịch đụng phải.

Mô hình 3D riêng, dựng trong Blender và đưa lên trình duyệt

3D của chúng tôi không phải hàng có sẵn. Nó được dựng trong Blender, và với bất cứ thứ gì chúng tôi biết sẽ phải sửa, nó được dựng bằng script, để toàn bộ asset được tạo lại chỉ bằng một câu lệnh.

Lấy Lucky Wheel làm ví dụ. Một lần chạy Blender ở chế độ nền tạo lại ba thứ cùng lúc: file nguồn .blend sửa được, file wheel.glb mà game tải (khoảng 635 KB), và ảnh render giới thiệu mà trình cấu hình hiển thị trong bộ chọn mẫu. Sửa một đường vát, chạy lại, và nguồn, mô hình đã giao cùng visual cho deck đều dịch chuyển cùng nhau. Không có ảnh render cũ nào nằm trong thư mục nói ngược lại bản build.

Chính kỷ luật đó làm cho một bộ sưu tập trở nên khả thi về chi phí. Vòng quay hiện có bốn tạo hình riêng biệt — Signature, Orbit, Atelier và Prism — mỗi cái có khung, vật liệu và ánh sáng riêng, và đổi được trong trình cấu hình mà không ảnh hưởng tới phần thưởng, xác suất, ảnh đã tải lên hay logo trung tâm.

Ba trong bốn tạo hình Lucky Wheel — Orbit, Atelier và Prism — được tạo lại từ nguồn Blender viết bằng script. Cùng một hợp đồng hình học, cùng một mã game, nhưng là vật thể hoàn toàn khác.
Ba trong bốn tạo hình Lucky Wheel — Orbit, Atelier và Prism — được tạo lại từ nguồn Blender viết bằng script. Cùng một hợp đồng hình học, cùng một mã game, nhưng là vật thể hoàn toàn khác.

Vật liệu được đặt tên có chủ đích, không phải để trang trí. Vòng quay mở ra CC_Chrome, CC_Hub, CC_PointerCC_Accent, nhờ đó bảng màu của thương hiệu được áp trực tiếp trong trình cấu hình thay vì quay lại chỗ chúng tôi thành một yêu cầu xuất lại. Hình của từng ô và mặt logo trung tâm nằm trên texture độc lập, tùy chỉnh được từ 2 đến 12 ô.

Cách nghĩ này mở rộng lên quy mô lớn. Trong showroom căn hộ 3D, hình học kiến trúc được đo bằng mét, bản đồ màu ở sRGB còn bản đồ dữ liệu giữ tuyến tính, và scene chạy với chiếu sáng HDR dựa trên ảnh, bóng đổ định hướng 4096px với vùng nửa tối PCSS, che khuất môi trường trong không gian màn hình, phản chiếu phẳng trên sàn gỗ, bloom vừa phải và tone mapping ACES filmic — trong trình duyệt, thời gian thực. Một bản chụp lập phương được tiền xử lý của nội thất cung cấp phản chiếu cho đá, đồng thau và kim loại tối, và làm mới lại sau khi thay đổi ánh sáng hoặc vật liệu đã ổn định.

Hợp đồng hình học: vì sao mô hình và game không bao giờ lệch nhau

Đây là phần không ai đưa vào deck, và là phần quyết định một chiến dịch có làm thương hiệu mất mặt hay không.

Một vòng quay trúng thưởng là một lời hứa. Nếu kim dừng ở giữa hai ô trong khi server nói người chơi trúng xe máy, chiến dịch có vấn đề về uy tín và khách hàng có vấn đề về chăm sóc người chơi. Vì vậy mô hình và mã nguồn dùng chung một hợp đồng hình học rõ ràng, được viết ra:

Mô hình hướng theo +Z và giữ nguyên tọa độ gốc khi xuất — không có chuyển trục âm thầm giữa Blender và web.
Vòng tròn phần thưởng nằm ở bán kính 0,948, tại Z = 0,061.
Kim luôn ở vị trí 12 giờ, và ô số 0 bắt đầu ở chính giữa bên dưới kim.
Đĩa quay quanh trục Z độc lập với khung và mặt logo, nên một tạo hình mới không bao giờ làm đổi chỗ phần thưởng rơi vào.

Vì hợp đồng đó được viết ra, nó kiểm thử được. Lucky Wheel đi kèm 28 bài kiểm thử có mục tiêu: bản thân lượt quay, loại bỏ ô có trọng số bằng 0, giữ nguyên nội dung, canh kim cho mọi số lượng ô từ 2 đến 12, và tải cả bốn file GLB bằng đúng bộ giải mã của game. Đổi mô hình 3D không thể làm dịch phần thưởng. Đó là một quyết định thiết kế, được xác nhận ở mỗi commit.

Nhân vật 3D có rig dựng từ tranh tham chiếu phẳng

Mascot là yêu cầu khó nhất trong nhóm này, vì nhân vật của thương hiệu đã tồn tại — dưới dạng tranh phẳng, trong một tài liệu hướng dẫn sử dụng, trong ký ức của mọi người. Nó phải bước sang 3D mà vẫn đúng là chính nó.

Cho buổi pitch Million Green Miles của Toyota Việt Nam, chúng tôi đã dựng lại mascot của chiến dịch, Miraito, thành một nhân vật 3D có rig đầy đủ từ tranh tham chiếu được cung cấp: 33 xương, 8 điều khiển IK trong Blender và 4 biểu cảm khuôn mặt chạy bằng morph target. Nó đi kèm năm trạng thái chuyển động — chờ, đi, chào, ăn mừng, chỉ tay — nháy mắt tự động, và điều khiển riêng cho mắt trái và mắt phải. Toàn bộ quá trình dựng, cùng công cụ duyệt quanh nó, được kể trong cách chúng tôi biến mascot 2D thành nhân vật 3D.

Rồi chúng tôi bọc nó trong một công cụ duyệt, vì một bộ rig không kiểm tra được là bộ rig không ai duyệt được. Khách hàng mở một link và có:

Kéo để quay quanh, chụm hoặc cuộn để phóng to, cùng các góc kiểm tra cố định — chính diện, ba phần tư, hông, sau lưng.
Phát lại có lặp, tạm dừng, núm điều chỉnh tốc độ, và tiến từng khung ở 1/24 giây cho animator.
Lớp phủ bộ xương và lưới, cùng tư thế nghỉ.
Một công tắc chất lượng giữa bản Chi tiết và bản Mobile của mô hình, để đội thương hiệu thấy đúng những gì một chiếc điện thoại sẽ render — không phải một bản đẹp chỉ dành cho máy tính.
Một nút đổi ngôn ngữ, vì người duyệt và người viết brief không luôn đọc cùng một thứ tiếng.

Một điều chúng tôi giữ đúng: khi tài liệu hướng dẫn của một mascot cấm tô lại màu hay vẽ lại nhân vật, bản dựng 3D của chúng tôi là một xấp xỉ để duyệt và phải được đội thương hiệu chấp thuận trước khi phát hành — còn mọi vị trí đặt ảnh phẳng trong deck đều ghép từ file gốc chính thức chứ không phải bản của chúng tôi.

Ba con đường tới một mô hình 3D — và khi nào dùng đường nào

Không phải vật thể nào cũng đáng đầu tư như nhau. Quyết định được điều đó từ đầu chính là phần lớn tay nghề.

Con đườngDùng choBạn nhận được
Dựng Blender bằng scriptVật thể chủ đạo quan trọng với thương hiệu: bao bì, vòng quay, mascot, máy arcadeKích thước chính xác, vật liệu được đặt tên để đổi màu trực tiếp, tạo lại bằng một câu lệnh
AI ảnh-thành-thế-giớiBối cảnh và đồ trang trí sinh ra từ một ảnh tham chiếu duy nhấtLưới với vật liệu PBR, một môi trường đi lại được, ánh sáng và âm thanh trong vài giờ
Thư viện có bản quyền và CC0Đồ phụ không ai nhìn tới lần thứ haiGiấy phép đúng, nguồn được ghim bằng checksum, tải lại được y nguyên

Con đường giữa mới hơn nhiều so với hình dung của phần lớn agency, và chúng tôi đã đưa nó vào sản xuất: một bức ảnh giờ đây có thể cho ra lưới vật thể, một môi trường đi lại được, ánh sáng khớp và âm thanh không gian. Chúng tôi mổ xẻ pipeline đó trong Image Blaster: biến một bức ảnh thành thế giới 3D đi lại được.

Con đường thứ ba quan trọng hơn vẻ ngoài của nó. Mọi vật liệu và file HDR tải về trong showroom của chúng tôi đều được ghi lại kèm trang nguồn và checksum trong một bản kê, và toàn bộ có thể tải lại bằng một script. Khách hàng không bao giờ nên thừa hưởng một asset mà không ai có thể cấp phép hay thay thế.

Làm 3D đủ nhanh cho một máy Android tầm trung

Một mô hình đẹp nhưng đứng máy trên đúng thiết bị khán giả đang dùng là một mô hình thất bại. Vì thế việc tối ưu hiệu năng là phần của việc dựng mô hình, không phải một lượt làm sau.

Hình học nén, tự lưu trữ. File glTF của chúng tôi được nén Draco, và bộ giải mã được phục vụ từ chính tên miền của chúng tôi chứ không phải CDN của bên thứ ba — một chiến dịch không nên phụ thuộc vào nơi lưu script của người khác.
Draw call được coi là một hạn mức. Trong scene arcade, các bộ phận tĩnh được gom theo vật liệu; chỉ quạt, các nút điều khiển và màn hình tách riêng, vì chỉ chúng chuyển động.
Giới hạn mạng thật. Các định dạng playable ad giới hạn dung lượng. Playable ad của chúng tôi nhúng cả bộ sưu tập vòng quay trong một file HTML duy nhất, khoảng 4,93 MB, cố ý nằm dưới mức 5 MiB — và nó xuất được sang Facebook Instant Games, playable ad, và MRAID cho Meta, Google, TikTok và Moloco.
Chuyển động biết cư xử. Các scene thời gian thực giới hạn ở 30 khung/giây, tạm dừng khi ra khỏi màn hình, và tôn trọng prefers-reduced-motion.
Phương án dự phòng có thật. Mọi trải nghiệm 3D đều có đường đi cho thiết bị không chạy được nó: một vòng quay 2D, ảnh poster, một game kéo bằng tay thay cho game theo khuôn mặt. Được kiểm tra tới màn hình 320 × 568.

Những gì chúng tôi không hứa

Trang giới hạn là một trang thật. Vài dòng trong trang của chúng tôi:

Một lượt nâng chất lượng hình ảnh không phải một lượt tối ưu hiệu năng mobile. Bản giao hiện tại của showroom cố ý nặng — khoảng 120 MiB vật liệu và HDR cộng 19 MiB mô hình nội thất, chưa nén, ưu tiên máy tính. Nén texture và định mức cho mobile là một phần việc riêng, có phạm vi rõ ràng, và chúng tôi nói thẳng điều đó thay vì để bạn tưởng bản render trên máy tính là trải nghiệm trên điện thoại.
Đây là render thời gian thực, không phải vật lý. Ánh sáng ban ngày dội lại được xấp xỉ bằng đèn diện tích và một bản đồ môi trường. Nó không phải mô phỏng mặt trời path-traced hay hiệu chỉnh theo vị trí địa lý, và một phông ảnh chụp không có thị sai cục bộ.
Bảng xếp hạng trong prototype không phải bảng xếp hạng thật. Trong một đề xuất, điểm được nạp sẵn ở phía máy khách. Tiền thưởng thật cần một server, kiểm tra danh tính, giới hạn số lượt và chống trùng trước khi phát hành.
Face tracking trên thiết bị phụ thuộc vào thiết bị. Nó cần một điện thoại tương đối mới và quyền camera, và đó chính là lý do chế độ dự phòng tồn tại.
3D do AI tạo cần một lượt làm của con người. Đó là con đường nhanh tới một scene, không phải một asset thương hiệu hoàn thiện.

Bản đề xuất là sprint đầu tiên của quá trình sản xuất

Vì bản đề xuất là một bản build thật, việc duyệt nó không làm công việc bắt đầu lại từ đầu.

Các file nguồn Blender là của bạn, sửa được, ở định dạng mở — không có file scene độc quyền, không bị khóa nhà cung cấp. File glTF mà prototype tải chính là file glTF mà bản sản xuất tải. Hợp đồng hình học mà prototype được kiểm thử theo chính là hợp đồng chiến dịch thật thừa hưởng. Ảnh render trong deck ra từ cùng scene đó. Khi khách hàng nói đồng ý, chúng tôi không mở một file trắng; chúng tôi làm chắc thêm một thứ đã chạy.

Đó cũng là lý do nền tảng game builder tồn tại: khi mô hình chủ đạo đã tôn trọng một hợp đồng, cả chiến dịch quanh nó — phần thưởng, xác suất, bảng màu, nội dung, bản xuất — trở thành việc cấu hình thay vì dựng lại.

Gửi cho chúng tôi một brief

Nếu bạn có một chiến dịch với một vật thể ở trung tâm — một sản phẩm, một mascot, một phần thưởng, một cỗ máy — cách nhanh nhất để biết nó có hiệu quả là cầm nó trong tay.

Xem những gì chúng tôi đã làm trong các dự án, xem danh mục game thương hiệu, đọc về stack render 3D của chúng tôi, hoặc đơn giản là gửi cho chúng tôi brief. Chúng tôi sẽ gửi lại một đường link.

Các chi tiết kỹ thuật trong bài viết này mô tả công việc do Code Crush thực hiện. Prototype cho khách hàng là concept nếu không ghi khác; ngày đóng Spark AR theo thông báo công khai của Meta.

Câu hỏi thường gặp

Một đề xuất chiến dịch chơi được mất bao lâu?
Vài ngày, không phải vài tuần, cho một vòng lặp chơi được cùng một asset 3D chủ đạo. Biến số là phạm vi 3D: một vật thể chủ đạo dựng bằng script thì nhanh, còn một nhân vật có rig kèm biểu cảm khuôn mặt và nhiều trạng thái chuyển động là phần việc dài nhất.
Chúng tôi nhận được file 3D thật, hay chỉ một video?
File thật. Nguồn Blender sửa được, glTF/GLB sẵn cho web, và các bản render offline — tất cả ở định dạng mở, mở được ngay trong Blender, Unity, Unreal hay một trình xem web.
Các bạn có dựng chính xác sản phẩm hoặc mascot của chúng tôi được không?
Được. Chúng tôi làm từ tranh tham chiếu, ảnh chụp, bao bì hoặc file CAD. Khi một nhân vật có bản quyền kèm quy định cấm vẽ lại hay tô lại màu, bản dựng 3D của chúng tôi là một xấp xỉ để duyệt và phải được đội thương hiệu chấp thuận trước khi phát hành.
3D có chạy thật trên điện thoại cấu hình thấp và trình duyệt nội bộ không?
Điều đó được thiết kế từ đầu, không phải cầu may: hình học nén Draco phục vụ từ tên miền của chúng tôi, một bậc chất lượng riêng cho mobile, giới hạn 30 khung/giây kèm tạm dừng khi ra khỏi màn hình, hỗ trợ giảm chuyển động, và phương án 2D khi không có WebGL. Chúng tôi kiểm tra tới màn hình rộng 320px.
Các bạn cần gì từ chúng tôi để bắt đầu?
Bản brief, asset và hướng dẫn thương hiệu của bạn, cơ chế phần thưởng bạn đang hình dung, cùng thị trường và kênh bạn nhắm tới. Nếu một yêu cầu không sống nổi khi gặp thiết bị thật hay nền tảng thật, bạn sẽ nghe điều đó từ chúng tôi ngay trong cuộc trao đổi đầu tiên chứ không phải sau khi ký.
Bản đề xuất có thể phát hành thành chiến dịch thật không?
Có. Cùng bản build đó xuất được sang Facebook Instant Games, playable ad và MRAID cho Meta, Google, TikTok và Moloco, hoặc phát hành dưới dạng link kèm mã QR. Điều một chiến dịch thật thêm vào là phía server: lượt quay thật, giữ chỗ tồn kho, hạn mức, biên nhận và chống gian lận.

Thẻ

campaign proposal3D modelingBlenderThree.jsWebGL3D charactersriggingglTFbranded gamesgamificationpitch processVietnam
Bản tin miễn phí

Nhận thông tin chuyên sâu về gamification gửi hằng tuần

Tham gia cùng các quản lý thương hiệu và marketer để nhận những nội dung hay nhất của chúng tôi về game thương hiệu, chiến lược tương tác và tiếp thị tương tác — không spam, hủy đăng ký bất cứ lúc nào.

Không spam. Hủy đăng ký bất cứ lúc nào. Chúng tôi tôn trọng hộp thư của bạn.

Hãy cùng tạo ra điều mà khán giả của bạn sẽ yêu thích

Từ game thương hiệu đến trải nghiệm 3D nhập vai — chúng tôi thổi hồn vào sự tương tác.