- Cái tiêu đề hơi khó hiểu, nhưng cụ thể là tôi có thấy ảnh GIF 1 cái nhà rất đẹp. Nhưng nó chỉ được share dưới dạng file Animation là GIF không phải SHP nên cần tách các frame của nó ra rồi Import lại tạo thành file SHP.
- Trong 1 topic bên gamevn tôi có thấy Naittitan post cái ảnh này.
- Thực sự cái nhà này rất đẹp, nhìn nó đầy đủ mọi anim, từ buildup, hiệu ứng hoạt động, lúc bị hỏng, và cả hình ảnh đầy đủ cho màn tuyết lẫn màn thường.
- Nhưng vì nó được chia sẻ ở dạng GIF nên không thể add thẳng vào game.
- Bây giờ mình cùng chuyển đổi nó qua SHP.
- Trước khi thực hiện được việc này cũng yêu cầu bạn đã phải biết cách thêm nhà mới vào game, vì khi viết bài này tôi không thể hướng dẫn lại toàn bộ mọi thứ được.
- Trước tiên ta phải fix lại một chút để khi vào game xây nhà không bị lệch.
- Không bắt buộc phải chạy được mới có thể làm được mà chỉ đơn giản là giảm các thao tác, đỡ mất thời gian mà thôi.
- Các bản PTS Portable thường không chạy được nên cần có bản PTS Full.
- Đầu tiên dùng phần mềm được chia sẻ ở TÁCH, PHÂN TÍCH FILE GIF để tách ra 180 frame.
- Mở file số 27 bằng PTS.
- Nhấn menu View --> New Guides. Đánh dấu chọn Horizontal rồi OK.
- Sử dụng công cụ Move (Phím tắt V) kéo thanh Guide để chạm vào phần bên kia của chân cái cột
- Làm đến bước này, save file này thành file frame 181.png để chung thư mục với 180 frame kia.
- Trong PTS vào File-->Script-->Load files into stack. Chọn thư mục chứa 181 file và load cùng lúc. PTS sẽ load ngược các frame từ 181->Layer1, 180->Layer2,......
- Nhấn chọn vào tất cả các layer trừ layer1 tức trừ ảnh 181. Rồi nhấn Menu Layer-->Arrange-->Reverse. Để PTS đảo lại các frame cho đúng thứ tự còn layer 181 thì cứ để nguyên ở vị trí số 1.
- Nhấn chọn Window-->Timeline, để xuất hiện công cụ giúp làm file ảnh GIF.
- Nhấn vào nút ở vị trí như hình chọn Make Frames From Layers để PTS tự động load từng Layer tạo thành từng Frame.
- Bôi đen toàn bộ các frame và set time cho chúng.
- Các Layer có một số layer bị lệch với khoảng trắng ở cả trên và dưới.
- Lựa chọn cùng lúc các layer bị lệch như thế này (Chỉ chọn các layer bị lệch). Rồi giữ CTRL SHIFT kéo tất cả lên chạm trần nhà. Các layer sẽ được kéo cùng lúc, không cần làm từng layer.
- Nhấn chọn Frame1, rồi nhấn nút góc phải của công cụ Timeline chọn Select All để chọn toàn bộ các Frame. Nhìn sang bảng layer, tắt rồi bật lại con mắt của Layer số 1 tức ảnh 181.
- Mục đích là để toàn bộ các frame sẽ xuất hiện ảnh nền 181. Nó sẽ phủ đen các khoảng trắng thừa khi extract ra gif.
- Sau đó nhấn Save for web lựa chọn như hình rồi lưu lại thành file GIF. Dùng phần mềm bên dưới tách ra lại thành các frame PNG mới. Và dùng các frame này để import thành SHP.
- Trước tiên ta phải fix lại một chút để khi vào game xây nhà không bị lệch.
- Với file GIF được chia sẻ ở trên nếu cứ tách frame ra rồi Import lại thành một file SHP thì khi vào game xây nó sẽ bị lệch, tức là cái cột này kích thước thật chỉ là 2x2 nhưng nếu để 2x2 thì vào game xây nó sẽ bị che mất phần chân cột.
- Có thể fix mẹo bằng cách để nhà kích thước 4x4
- Không bắt buộc phải chạy được mới có thể làm được mà chỉ đơn giản là giảm các thao tác, đỡ mất thời gian mà thôi.
- Các bản PTS Portable thường không chạy được nên cần có bản PTS Full.
- Đầu tiên dùng phần mềm được chia sẻ ở TÁCH, PHÂN TÍCH FILE GIF để tách ra 180 frame.
- Mở file số 27 bằng PTS.
- Nhấn menu View --> New Guides. Đánh dấu chọn Horizontal rồi OK.
- Sử dụng công cụ Move (Phím tắt V) kéo thanh Guide để chạm vào phần bên kia của chân cái cột
Dùng công cụ Move để di chuyển thanh Guide |
Kéo thanh Guide chạm vào phần bên kia chân đế |
Tạo vùng chọn như hình sau khi đã thiết lập vị trí thanh Guide |
Nhấn CTRL C rồi CTRL SHIFT N. Sau đó x2 chiều cao của file mới tạo. Height=185x2 |
Lấy màu nền ảnh gốc để phủ lên nền file mới tạo. |
- Trong PTS vào File-->Script-->Load files into stack. Chọn thư mục chứa 181 file và load cùng lúc. PTS sẽ load ngược các frame từ 181->Layer1, 180->Layer2,......
- Nhấn chọn vào tất cả các layer trừ layer1 tức trừ ảnh 181. Rồi nhấn Menu Layer-->Arrange-->Reverse. Để PTS đảo lại các frame cho đúng thứ tự còn layer 181 thì cứ để nguyên ở vị trí số 1.
- Nhấn chọn Window-->Timeline, để xuất hiện công cụ giúp làm file ảnh GIF.
- Nhấn vào nút ở vị trí như hình chọn Make Frames From Layers để PTS tự động load từng Layer tạo thành từng Frame.
- Bôi đen toàn bộ các frame và set time cho chúng.
- Các Layer có một số layer bị lệch với khoảng trắng ở cả trên và dưới.
- Lựa chọn cùng lúc các layer bị lệch như thế này (Chỉ chọn các layer bị lệch). Rồi giữ CTRL SHIFT kéo tất cả lên chạm trần nhà. Các layer sẽ được kéo cùng lúc, không cần làm từng layer.
Chỉnh lại vị trí các layer lệch |
- Mục đích là để toàn bộ các frame sẽ xuất hiện ảnh nền 181. Nó sẽ phủ đen các khoảng trắng thừa khi extract ra gif.
- Sau đó nhấn Save for web lựa chọn như hình rồi lưu lại thành file GIF. Dùng phần mềm bên dưới tách ra lại thành các frame PNG mới. Và dùng các frame này để import thành SHP.
Ô colors để 256 màu cũng được. |
I. TÁCH, PHÂN TÍCH FILE GIF
- Trước hết tải phần mềm để Extract các frame của GIF ra PNG : Link. Link trang chủ Click here
- Tải về giải nén ra được 1 file chạy duy nhất.
- Kéo thả file GIF vào file chạy này thì nó sẽ extract tất cả các frame ra PNG. Ta có 180 frame
Click vào hình để phóng to |
- Bây giờ cùng nhìn các frame và phân tích nó xem frame này là thuộc về cái gì.
- Trong hình trên mình extract từ file 0000.GIF ra frame bắt đầu là 000000001.png
- Frame 1 đến 27 là frame BuildingUp trên nền "Không phải tuyết".
- Các bạn biết rằng 1 công trình nhà cửa trong game thì có những file dành cho màn chơi có tuyết (xAxxxxx), sẽ thấy tuyết phủ lên trên công trình và những file dành cho những màn chơi còn lại. Như đồng cỏ, sa mạc,......(xGxxxxx)
- Frame 28 đến 58 là frame Anim trên nền "Không phải tuyết".
- Frame 59 đến 90 là frame Anim khi bị hỏng (Anim Damage) trên nền "Không phải tuyết".
- Frame 91 đến 117 là frame BuildingUP trên nền tuyết.
- Frame 118 đến 148 là frame Anim trên nền Tuyết.
- Frame 149 đến 180 là frame Anim khi bị hỏng trên nền Tuyết.
- Về cơ bản 1 công trình thường có những file
- File hình ảnh cái nhà sau khi xây xong
- File hiệu ứng BuildUp (Cái nhà từ từ hình thành, mọc lên như thế nào. Nếu không có file này thì nhà các bạn xây lên có thiết lập code bên rules hay art kiểu gì cũng không bán được nhà.)
- File hiệu ứng. File này có nhà có 1 nhà có 2 có 3 hay 4 cũng có, hoặc chả có cũng được không sao. Với cái nhà này của chúng ta thì hiệu ứng đó chính là cái quả cầu ở trên nó sẽ nhấp nháy nhấp nháy khi nhà hoạt động.
II. TẠO SHP
Bước 1: Tạo file hình ảnh cái nhà.
- Trước hết copy frame số 27 và frame số 59 past ra 1 folder nào đó đổi tên thành 0000 và 0001.Frame 27 là khi cái nhà buildup xong, có nghĩa lúc đó cái nhà đã hoàn thành. Ta lấy đó làm file hình ảnh nhà. Frame 59 là frame khi cái nhà bị hỏng.
- Tiếp nữa lại copy chính 2 cái 0000 và 0001 past thành 2 cái mới rồi đổi tên thành 0002 và 0003, để làm frame shadow. 0002 giống 0000 và 0003 giống 0001
- Mở OS SHP Builder (Google thần công bạn nhé). Phiên bản dùng trong hướng dẫn này là 3.38 beta 20.
- Chọn File --> Import --> Image->SHP. Chọn như trong hình
Tab Main |
Tab Colours |
- Nhấn OK ta sẽ được 1 file SHP mới với 4 frame, 2 frame cuối sẽ màu trắng đen (Options --> Shadow phải được đánh dấu) đó là 2 frame shadow.
- Nhấn chọn công cụ, nhấn vào nền đen của file SHP ta được màu 58.
- Ta cần làm bước này để loại bỏ nền khi xây công trình trong game.
- Điều này mình đã nói đến trong bài viết này [PC][Red Alert 2]Convert Animation GIF To SHP
- Sau khi đã chọn được màu 58 thì vào Drawing --> ClolourReplace
- Nhấn chọn vào màu ở vị trí đầu tiên (Màu số 0)- Ở bên cột màu bên phải ta sẽ thấy màu 58 sẽ được thay thế bởi màu số 0.
- Nhấn chọn Ok, ta sẽ thấy nền sẽ thành màu số 0.
- Lưu file SHP này lại với tên NGWBUILD1.
- Tại sao là NGWBUILD1 mà không phải NEWBUILD1
- Vì game mặc định nhận ký tự G ở vị trí thứ 2 của tên là các file dành cho màn chơi không phải tuyết
- Ngay bây giờ đã có thể vào game và xây cái nhà đó, nó cũng hiện hình rồi. Chỉ có là không có hình ảnh buildup và không có anim nhấp nháy ở cái cột, và không bán được nhà (Do không có buildup).
- Như trong hình mình xây cái nhà nhưng bụp 1 cái nó xuất hiện và không bán được. Khi bắn thì khi máu vàng nhà đã chuyển sang hình ảnh bị hỏng.
- Code add tạm để test như sau (Chú ý chọn màn chơi nào không phải tuyết nhé, vì ta mới chỉ có file xGxxxx chưa làm file xAxxxx)
- Khai báo code vẫn để NAWBUILD1 được nhé vì game tự nhận diện NGWBUILD1.
- Rulesmd.iniThêm vào danh sách các nhà
[BuildingTypes] xxx=NAWBUILD1Thêm Code dưới vào cuối file rulesmd.ini
[NAWBUILD1] UIName=NOSTR:Test1 Name=Test BuildCat=Combat TechLevel=1 Strength=750 Powered=true Adjacent=20 Armor=concrete Sight=50 Owner=British,French,Germans,Americans,Alliance,Russians,Confederation,Africans,Arabs,YuriCountry AIBasePlanningSide=0 Cost=1 Points=30 Power=-10 Crewed=yes Capturable=false Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60 Nominal=yes ThreatPosed=1 AIBuildThis=no ChargedAnimTime=1 DebrisAnims=DBRIS1LG,DBRIS1SM,DBRIS2LG,DBRIS4LG,DBRIS4SM,DBRIS5LG,DBRIS5SM,DBRIS6LG,DBRIS6SM,DBRIS7LG,DBRS10LG MaxDebris=1 MinDebris=1 BuildTimeMultiplier=0.01- Artmd.ini
[NAWBUILD1] Cameo=NAWBUILD1ICON Remapable=no Foundation=4x4 Height=12 DemandLoadBuildup=true FreeBuildup=true NewTheater=yesBước 2: Tạo file buildingup.
- Để thấy cái nhà được xây lên một cách từ từ, uyển chuyển không phải kiểu bụp 1 cái xuất hiện.
- Để có thể bán được nhà (Ở đây có một mẹo với những nhà không thể tìm được file buildingup, không tự thiết kế được 1 file buildingup thì kiếm 1 file bừa nào đó mà add nó thành buildingup là vào game xây nhìn hơi bựa nhưng bán được).
- Công đoạn này vì sẽ có nhiều frame nên việc đổi tên từng frame khuyến cáo các bạn sử dụng phần mềm hỗ trợ cho nhanh. Ở đây tôi dùng Better File Rename 5
Click vào ảnh để phóng to |
- Như đã phân tích ở Phần I. Các bạn copy file ảnh từ số 1 đến số 27 ra 1 folder rồi đổi tên thành 0000 0001 0002....0026 (27 ảnh từ 0 nên kết thúc ở 26).
- để tạo frame shadow thì chỉ việc copy 27 cái frame kia rồi đổi tên thành 0027....0053 rồi ném chung 1 folder với các frame từ 0000. Ta có tổng cộng 54 frame từ 0000 đến 0053. Frame 0027 giống hệt frame 0000 nhưng sẽ hiển thị là màu trắng đen khi Import vào OS SHP Builder.
Click vào hình để phóng to |
- Ta được 1 file SHP với chuyển động buildingup.
- Bây giờ đặt tên nó là NGWBUILD1MK, copy vào thư mục game. Thêm dòng Buildup=NAWBUILD1MK vào code của artmd.ini rồi vào game test.
- OK. Xong hiệu ứng buildup.
Bước 3: Tạo file animation
- Tạo file để cái quả cầu trên đầu nhấp nháy.
- File này sẽ bao gồm cả Anim khi nó lành lặn và khi nó bị hỏng vào chung 1 file SHP.
- Copy ảnh số 28 đến 90 đổi tên 0000 đến 0062.
- Tiếp tục vẫn chính những ảnh đó đổi tên từ 0063 đến 0125. Để tạo frame shadow.
- Copy vào chung folder với các ảnh từ 0000 ta có từ 0000 đến 0125 (126 frame).
- Import và Replace màu nền y hệt 2 bước trên.
- Save lại với tên NGWBUILD1_A
- Chú ý frame từ 31 đến 62 là frame anim khi bị hỏng.
- Khi dùng OS SHP Builder. Các con số hiển thị ở khung Frame Control trừ đi 1 mới ra số của frame đó. Vì các frame bắt đầu từ 0 nhưng trong mục Frame Control nó hiển thị từ số 1.
- Chỉnh code artmd.ini lại như sau.
[NAWBUILD1] Cameo=NAWBUILD1ICON Remapable=no Foundation=4x4 Height=12 Buildup=NAWBUILD1MK DemandLoadBuildup=true FreeBuildup=true NewTheater=yes ActiveAnim=NAWBUILD1_A ActiveAnimDamaged=NAWBUILD1_AD ActiveAnimZAdjust=-100 [NAWBUILD1_A] Normalized=yes Surface=yes Start=0 LoopStart=0 LoopEnd=30 LoopCount=-1 Rate=200 DetailLevel=1 NewTheater=yes [NAWBUILD1_AD] Image=NAWBUILD1_A Normalized=yes Surface=yes Start=31 LoopStart=31 LoopEnd=62 LoopCount=-1 Rate=200 DetailLevel=1 NewTheater=yes- Bên rulesmd.ini thêm 2 dòng sau vào [Animations]
xxx=NAWBUILD1_A xxx=NAWBUILD1_AD- xxx là số thứ tự của bạn
- Nhìn code art bên trên bạn thấy LoopStart và LoopEnd đó là số frame bắt đầu và kết thúc hãy điền cho đúng.
- Dòng LoopCount=-1 là nó cứ lặp đi lặp lại mãi các frame từ Start đến End. Bạn thử để bằng 1 thì nó sẽ nhấp nháy đúng 1 lần rồi thôi.
- Dòng Rate là thực hiện các frame từ Start đến End trong khoảng thời gian bao nhiêu lâu. Các nhà khác tôi cũng thấy để 200, hiệu ứng thế là đẹp rồi, thử để lên cao xem sẽ thấy cái quả cầu nhấp nháy như một con điên =))
- Ở mỗi khóa đều có dòng NewTheater=yes. Phải có dòng này thì game mới chịu phân biệt file xAxxxx cho màn có tuyết và file xGxxxxx cho màn thường.
- Ở mỗi khóa đều có dòng NewTheater=yes. Phải có dòng này thì game mới chịu phân biệt file xAxxxx cho màn có tuyết và file xGxxxxx cho màn thường.
- Mẹo. Nếu bạn chỉ có file xGxxxxx cho công trình ko có file cho màn tuyết thì bạn bỏ dòng này đi. Nó sẽ load xGxxxxx cho cả 2 loại màn chơi. Không sợ công trình bị tàng hình.
- Vậy là ta hoàn thành xong hoàn toàn các file cho cái nhà này hoạt động bên màn chơi "Không có tuyết".
- Với các frame tuyết các bạn làm hoàn toàn tương tự, chỉ cần sau khi xong đặt tên là NAWBUILD1, NAWBUILD1MK và NAWBUILD1_A rồi ném vào thư mục game. Không cần thêm code gì vào art hay rules nữa. Vào game chọn màn chơi tuyết rồi xem.
- Nhà có chức năng gì thì tùy các bạn edit nhé.
- Thông qua bài viết này các bạn cũng biết 1 công trình trong game thông thường gồm những file nào.
- File cho màn tuyết.
- NAWBUILD.SHP (Gồm 1 frame nhà lành lặn và 1 frame lúc hỏng, 2 frame y hệt làm shadow)
- NAWBUILDMK.SHP (BuildingUp)
- NAWBUILD_A.SHP (Animation. Gồm toàn bộ frame hiệu ứng khi lành và hỏng. Lành để trước hỏng để sau.)
- File cho màn thường
- NGWBUILD.SHP
- NGWBUILDMK.SHP
- NGWBUILD_A.SHP
- Còn vấn đề cuối cùng này nếu bạn không làm thì vào game cho dù quân bạn màu gì thì mua cái nhà này nó cũng ra màu tím =)). Như một số cái ảnh với video ở trên của tôi bạn thấy mặc dù tôi quân Yuri màu đỏ nhưng mua nhà toàn ra màu tím :v
- Vấn đề này chỉ là Replace màu, bạn Replace tất cả màu tím trên thân cái nhà thành màu đỏ số 16, chỗ nào tím đậm (thể hiện sự đổ bóng) thì có thể thay thành màu số 26 hay 27 gì đó, miễn là màu trong dải màu đỏ. Vào game quân màu gì mới ra nhà màu đó.
-- HẾT --
Comments
Post a Comment