saveMaxFile (MaxFilePath + MaxFileName) saveAsVersion:2016 quiet:true
Phía trên là toàn bộ nội dung của script đầu tiên tôi viết cho 3ds Max. Ngày đó tất cả những đồng nghiệp của tôi đều dùng 3ds Max 2016, riêng mình tôi dùng 3ds Max 2018. Điều đó khiến việc chia sẻ file hay gặp trục trặc vì quên lưu xuống bản cũ. Không giống như AutoCAD, tôi không thể tìm thấy bất kỳ một cài đặt của 3ds Max để luôn lưu file về 2016. Thế nhưng, chỉ với 1 dòng code duy nhất, mọi vấn đề đã được giải quyết trơn tru.
Dù rất hữu ích cho công việc, với một kiến trúc sư, nhà thiết kế, hay một người dùng 3ds Max nói chung, việc bắt đầu tìm hiểu cách tạo ra một công cụ mở rộng rất dễ đem lại cảm xúc hoang mang vô định: học từ đâu, học làm gì, học xong liệu có ích không. Động lực thì ít mà rào cản thì nhiều. Hàng trăm băn khoăn diễn ra trước khi bắt đầu thực sự bỏ thời gian để học tập.
Bài viết này dành cho tất cả anh chị em bạn bè đồng nghiệp đang ở ngưỡng cửa nhập môn, cần một tư vấn cụ thể để đưa ra định hướng cho con đường học tập của mình.
MỤC LỤC
Nên học gì khi bắt đầu
Có 3 dạng tiện ích mở rộng chính trong 3ds Max:
- Script: được viết chủ yếu bằng MaxScript, sử dụng trình soạn thảo tích hợp MaxScript Edittor.
- Plugin: được viết chủ yếu bằng C++, sử dụng các trình soạn thảo bên ngoài 3ds Max.
- MCG Tools: tạo ra bởi Max Creation Graph, một ngôn ngữ dạng đồ thị trực quan.
Câu trả lời cho tiêu đề là MaxScript. Dù đã có kinh nghiệm với lập trình trước đó hay không, MaxScript vẫn là thứ đầu tiên bạn nên học khi muốn tạo ra các công cụ mở rộng cho 3ds Max. Nó đơn giản, dễ hiểu và dễ để làm quen. Không cần cài đặt thêm bất kỳ phần mềm gì để bắt đầu, chỉ cần mở MaxScript Editor có sẵn lên và sẵn sàng soạn thảo. Việc học MaxScript cũng rất nhanh chóng cho ra kết quả. Chỉ trong vài ngày tìm hiểu, chúng ta sẽ có thể tự tạo một script cho riêng mình để xử lý các tác vụ cá nhân đơn giản.
Plugin viết bằng C++ là một câu chuyện hoàn toàn khác. Chúng nhanh, bảo mật, đa năng hơn rất nhiều so với script. Corona, Vray, Forest Pack, RailClone,…, hay ngay bản thân 3ds Max, đều được viết bằng C++. Tuy nhiên, đây là thế giới không có chỗ cho nghiệp dư. Riêng việc cài đặt trình soạn thảo (IDE) cùng bộ kit cho nhà phát triển (SDK) cũng tiêu tốn rất nhiều thời gian của người mới. Việc bảo trì – cập nhật plugin cũng nhọc hơn nhiều so với script vì tính tương thích theo phiên bản kém. Theo tôi, nên bắt đầu tìm hiểu cách viết plugin sau khi đã có kiến thức cơ bản về lập trình.
Max Creation Graph (MCG) thì lại khá thú vị – hiện đại. Nó là một ngôn ngữ dạng node-based, tức là thay vì ngồi code từng dòng một, chúng ta dùng các node để biểu thị. Mặc dù cũng là thứ được tích hợp trong 3ds Max, MCG và MaxScript gần như không có bất kỳ sự liên quan nào với nhau. Kinh nghiệm trong MaxScript không giúp ích được gì nhiều khi học MCG. Trong thời điểm hiện tại, tài liệu của MCG cũng không đầy đủ bằng MaxScript / C++, vì thế tôi khuyên không nên bắt đầu với nó, trừ khi bạn thật sự hứng thú với kiểu lập trình này.
Phương pháp học cho người mới
Với MaxScript, có 4 phương pháp học cho người mới là:
- Học từ tài liệu về MaxScript của Autodesk: đây là nguồn tài liệu quý giá, đáng tin cậy và đầy đủ nhất dành MaxScript. Đến hiện tại, tôi vẫn dùng tài liệu này hàng ngày như một cuốn từ điển tham khảo. Thử với bài viết cách tạo ra một khối Box bằng MaxScript ở đây. Đây cũng là thứ tôi học được đầu tiên trong hành trình học MaxScript của mình.
- Học từ các video hướng dẫn về MaxScript: hầu hết các video hướng dẫn trong thời điểm hiện tại đều đã lỗi thời, tuy nhiên, nên xem chúng để hình dung những thứ căn bản như cách để mở trình soạn thảo tích hợp MaxScript Editor, cách làm việc với code hay cách thực thi một câu lệnh đơn giản. Tôi khuyên nên xem seri hướng dẫn MaxScript 101 của tác giả John Wainwright, cũng là cha đẻ của ngôn ngữ MaxScript.
- Học bằng cách mod script của những tác giả khác: đây là cách học trực quan nhất dành cho người mới. Tìm một vài script miễn phí trên ScriptSpot, mở chúng lên bằng MaxScript Editor rồi thử từng dòng lệnh, chỉnh sửa chúng theo ý mình để hiểu cách script vận hành. Các script mã nguồn mở thường có định dạng .ms hoặc .mcr, các script dạng .mse là script đã được mã hóa (tuy nhiên việc bẻ khóa chúng thực ra rất đơn giản).
- Học bằng cách sử dụng Macro Recorder: đây là một tiện ích dùng để ghi lại những gì đang thao tác trong màn hình, giúp chúng ta biết cách lệnh ngầm được thực thi ở trong 3ds Max. Tôi vẫn sử dụng nó này thường xuyên để theo dõi những từ khóa mà mình chưa biết, đặc biệt là các thuộc tính trong các plugin như Vray, Corona hay Fstorm.
Sau khi đã hiểu được cách MaxScript vận hành, bạn có thể học kết hợp thêm các ngôn ngữ khác mà 3ds Max hỗ trợ như dotNet và Python để mở rộng khả năng mà MaxScript có thể làm được, hoặc thậm chí có thể bắt đầu với việc tạo ra những plugin hiệu năng cao với 3ds Max Software Development Kit.
Thu nhập từ công việc này
Nếu có đam mê và chú tâm với việc lập trình công cụ mở rộng cho 3ds Max, không khó để bạn kiếm được thêm một khoản tiền nhỏ từ nó, vì lượng người dùng 3ds Max hiện tại vẫn còn rất đông đảo. Với cơ chế bán hàng tự động của Autodesk, Gumroad, hoặc bất kỳ một nền tảng thương mại nào tương tự, đây thậm chí có thể sẽ là 1 khoản thu nhập thụ động đáng kể hàng tháng để bạn có động lực tiếp tục phát triển.
Tuy nhiên, theo tôi, với tư cách một kiến trúc sư, tốt nhất hãy coi công việc này như một sở thích ngoài lề, phục vụ cho công việc chính của bạn. Chỉ thương mại khi bạn thực sự cảm thấy tự tin và sẵn sàng, vì việc thu phí quá sớm sẽ khiến bạn mất đi những phản hồi quan trọng và quý giá từ người dùng miễn phí. Đồng thời, có mục tiêu về doanh số trong quá trình học tập khiến bạn nhanh nản khi script không bán được nhiều như kỳ vọng, và áp lực về việc nghĩ ra ý tưởng mới cũng sẽ làm chúng ta quen đi chuyện công việc thiết kế trên 3ds Max thực sự diễn ra như thế nào.
Lời tạm kết
Sau tất cả, đừng lo lắng, hãy cứ yên tâm bắt đầu! Vì dù sao, lập trình là kỹ năng rất hữu ích dù bạn không bán được một đơn nào hết: bạn đã có lợi ngay từ lúc học rồi. Chúng ta có thể dùng việc này để làm công cụ để thử nghiệm năng lực của bản thân, nâng cao năng lực tư duy, làm nền tảng bổ trợ cho những công việc khác, hoặc chỉ đơn giản coi nó như là một liệu pháp thể dục lành mạnh dành cho não bộ.
Chúc các bạn thành công và vững tin trên con đường học tập!
messageBox "Hello World!" title:"I love MaxScript"