[Tutorial]Cách tạo 1 đoạn phim tốt cho War3

Thảo luận trong 'World Editor' bắt đầu bởi LeoNguyen112, 17/10/10.

  1. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Cách làm tốt Cinematic
    Nguồn: The Helper


    __Khi làm map, nhất là đối với các map RPG, campaign thì những đoạn phim (cinematics) là không thể thiếu. Nó giúp map hay hơn, và với RPG/campaign thì sẽ giúp đẫn dắt câu chuyện hoặc để mở đầu map. Và để tạo 1 đoạn phim hay, nay LeoNguyen xin được làm (dịch) 1 bài hướng dẫn các bạn mới vào WE.


    ___I. Mở đầu đoạn cinematic:
    Để 1 cinematics hoạt động thì tất nhiên bạn cần phải kích hoạt nó bằng trigger

    o Events:
    __Các đoạn cinematics có rất nhiều kiểu event, ví dụ Unit enters region, Elapsed game time,…

    o Conditions:
    __Tuỳ vào event và mục đính của cinematics mà bạn có thể chọn conditions, như Entering unit is A Hero Equal to True (đối với events là Unit enters region),…

    o Actions:
    __Đây là các actions cơ bản để mở đầu 1 cinematics
    Mã:
        Actions
            Cinematic - Turn cinematic mode On for (All players)
            Cinematic - Disable user control for (All players)
            Cinematic - Fade out and back in over 2.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
    ___Cinematic - Turn cinematic mode On for (All players)
    Action trên dùng để bật chế độ xem cinematics của War3, ẩn con trỏ, interface và control panel của game. Như thế này:
    [​IMG]

    ___Cinematic - Disable user control for (All players)
    Có tác dụng làm cho người chơi mất khả năng điều khiển, không chọn unit hoặc building được.

    ___Cinematic - Fade out and back in over 2.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
    Làm đen màn hình sau đó tự động trở lại bình thường. Action này dùng để chuyển bối cảnh hoặc mở đầu/kết thúc 1 cinematic.

    __Dưới đây là những action thường được sử dụng, đặc biệt là với những cinematics maker có kinh nghiệm.
    Mã:
        Actions
            Cinematic - Turn subtitle display override On
            Cinematic - Clear the screen of text messages for (All players)
            Sound - Clear the music list
            Sound - Stop music Immediately
            Sound - Set Ambient Sounds to 0.00%
            Environment - Set sky to Lordaeron Summer Sky
    __Công dụng của các actions trên:
    ____Cinematic - Turn subtitle display override On
    Khi turn on thì lời thoại của các unit sẽ hiện lên màn hình nếu cinematic mode không được bật.

    ____Cinematic - Clear the screen of text messages for (All players)
    Xoá messages trên màn hình.

    ____Sound - Clear the music list
    Đọc cũng hiểu, xoá danh sách nhạc thôi.

    ____Sound - Stop music Immediately
    Dừng nhạc nền ngay lập tức.

    ____Sound - Set Ambient Sounds to 0.00%
    Tắt các tiếng xung quanh, như tiếng chim chẳng hạn, không bắt buộc tuy nhiên cũng không nên bỏ.

    ____Environment - Set sky to Lordaeron Summer Sky
    Chọn bầu trời là kiểu Lordaeron Summer. Vì default là Blizzard Sky (bầu trời đen), nên nếu có action trên bầu trời sẽ đẹp hơn, nhất là đối với những cảnh có dính bầu trời vào.

    ___II. Camera:
    Camera có thể làm thay đổi góc nhìn của player, có thể nhìn thẳng, ngang, dọc chứ không còn nhìn từ trên xuống như war3 nữa.
    Để tạo camera, vào Camera Palette trên Tool Palette:
    Create Camera: tạo camera
    View the Selected Camera: xem góc nhìn của camera
    Set Camera to Current View: chỉnh góc nhìn của camera được chọn camera về góc nhìn hiện tại.​
    __Để tinh chỉnh góc nhìn của camera, sử dụng các cách sau sẽ nhanh hơn:
    • Mousewheel Scroll-Up/Scroll-Down: phóng to hoặc thu nhỏ
    • Chọn, kéo thả chuột: di chuyển camera
    • Ctrl + kéo thả chuột phải: thay đổi góc camera
    • Ctrl + Shift + C: đặt góc nhìn thành góc nhìn mặc định.
    • Shilft + C: chuyển nhanh đến góc nhìn của in-game camera (camera khi chơi), nhấn Shift + C 1 lần nữa sẽ trở về góc nhìn trước đó.
    __Khi làm 1 đoạn cinematics thì bạn nên sử dụng nhiều camera. Camera mới tạo sẽ có tên là Camera 001, đây là tên mặc định, bạn có thể đổi tên để dễ làm cinematics (trường hợp nhiều camera sẽ khó khăn khi để tên mặc định). Để thay đổi thông số của camera, bạn chọn camera và nhấn Enter. Bạn sẽ thấy bảng Camera Properties
    [​IMG]

    • Camera Name: tên camera.
    • Target XTarget Y: vị trí camera.
    • Z-Offset: khoảng cách giữa camera và mặt đất
      [​IMG]
    • Rotation: xoay góc nhìn camera
      [​IMG]
    • Angle of attack: xoay camera theo chiều dọc.
      [​IMG]
    • Distance: khoảng cách từ camera đến gốc (target).
    • Roll: làm nghiêng camera.
      [​IMG]
    • Far Z: tầm nhìn gần/xa của camera. Chú ý có thể gây lag nếu trong tầm nhìn có quá nhiều unit, destructibles,…
    • Preview Values in Main Window: cho bạn xem trước camera
    Vậy là bạn đã tạo được camera, nhưng để dùng nó, chúng ta phải dùng trigger. Công dụng của các action điều khiển camera:
    • Apply Camera Object (Timed): chuyển đến 1 camera xác định trong thời gian.
    • Pan Camera (Timed): di chuyển lập tức camera đến 1 nơi trong 1 thời gian
    • Pan Camera With Interpolated Height (Timed): rất có ích với các map nhiều đồi núi, khi di chuyển camera sẽ thay đổi độ cao theo địa hình.
    • Set Camera Field (Timed): đặt các thông số của camera như rotation, distance,… trong 1 thời gian
    • Rotate Camera Around Point: xoay camera quanh 1 điểm
    • Lock Camera Target to Unit: khoá mục tiêu camera vào 1 unit, bạn sẽ không thể di chuyển camera nữa trừ khi unit di chuyển, có ích với các map rpg.
    • Lock Camera Orientation to Unit: khoá camera vào 1 unit, tuy nhiên khác với actions trên, nó khoá gốc (source) vào 1 nơi, nhưng mục tiêu vẫn di chuyển theo unit. Bạn nào không hiểu thì thử 1 phát là hiểu ngay.
    • Stop Camera: dừng camera chứ còn gì nữa, khi camera đang di chuyển thì nó dừng lại thôi
    • Reset Game Camera: reset các giá trị camera thành default camera của war3.
    • Change Camera Smoothing Factor: làm camera mượt hơn khi bạn dùng mousewheel up/down.
    • Reset Camera Smoothing Factor: là reset Camera Smoothing Factor
    • Set Spacebar Point: đặt Spacebar point tại 1 điểm, khi bạn nhấn Spacebar thì camera sẽ chuyển đến điểm đó.
    Sau khi làm 1 trigger về camera xong bạn có thể nhấn nút Preview camera motion nằm ở góc trên bên phải trigger để xem trước camera chạy thế nào.
    Camera là 1 phần khá phức tạp nhưng rất có ích khi làm map, hãy tập làm quen với nó, có thể bạn sẽ tìm ra những công dụng khác nữa.

    ___III. Địa hình và hiệu ứng:
    __1. Hiệu ứng: có thể chia thành các loại:
    - Màn sương (fog)
    - Thời tiết (weather)
    - Bầu trời (sky)
    - Ánh sáng (light)
    ___a. Màn sương:
    Để thay đổi màn sương, vào Scenario -> Map Options -> chọn “Use terrain fog”. Bạn nên chọn “Linear” trong phần Style. Sương được tạo với độ "dày" phụ thuộc 2 giá trị
    • Z Start: khoảng cách của lớp sương gần màn hình nhất.
    • Z End: khoảng cách của lớp sương xa màn hình nhất.
      [​IMG]
    __Hai thông số này có thể thay đổi tùy thuộc vào từng map, nhưng nếu 2 số quá gần nhau sẽ gây tối màn hình. Thường thì:
    Z Start: khoảng 0 - 3000
    Z End: khoảng 3000 - 8000
    __Kết hợp 2 thông số trên 1 cách hợp lí lại bạn sẽ có màn sương đẹp như thật, hãy cố đặt giá trị thật chính xác. Bạn có thể thay đổi màu sương, tùy trường hợp mà dùng mỗi màu khác nhau. Nếu trong 1 khu rừng âm u thì nên để màu xanh đậm hoặc đen, nếu là ban ngày thì nên là màu vàng hoặc xanh nhạt.
    __Ngoài ra, nếu đoạn cinematic của bạn có nhiều cảnh khác nhau, bạn có thể thay đổi fog cho phù hợp bằng cách dùng trigger với action sau:
    Mã:
    Environment - Set fog to style Linear, z-start 3000.00, z-end 8000.00, density 0.00 and color (100.00%, 100.00%, 100.00%)
    ___b. Thời tiết:
    Thời tiết cũng góp phần làm cho bầu không khí thêm sinh động hơn. Để tạo thời tiết cho map, ta tạo 1 region, nhấp đôi vào region sẽ xuất hiện hộp thoại Region Properties, stick chọn Weather Effect rồi chọn kiểu thời tiết thích hợp.
    ___c. Bầu trời:
    Bầu trời cũng rất quan trọng. Nếu sử dụng sai sẽ vô cùng kì cục, ví dụ map Dungeon mà bầu trời lại là Village, vô cùng khó chịu. Để tạo bầu trời, trong trigger ta thêm dòng action:
    Mã:
    [B]Environment - Set sky to <Kiểu sky thích hợp>[/B]
    Trong WE có sẵn nhiều loại sky khác nhau để lựa chọn, ngoài ra bạn cũng có thể thay đổi theo ý thích. Những gì bạn cần là 1 tool convert từ .tga sang .blp. Image Extractor là tool đơn giản nhất để làm việc này. Mở chương trình đồ hoạ bất kì nào mà bạn có (Photoshop hoặc các chương trình tương tự) copy và paste tấm hình sky của bạn (ảnh size 512x512), save nó dưới dạng .tga, dùng Image Extractor convert nó sang .blp và import nó vào map (nhớ thay path). Một số path cho các bạn:
    o Environment\Sky\DalaranSky\DalaranSky.blp
    o Environment\Sky\FelwoodSky\FelwoodSky.blp
    o Environment\Sky\Outland_Sky\OutlandSkyNew.blp
    o Environment\Sky\LordaeronSummerSky\LordaeronSummerSky.blp
    ___d.Ánh sáng:
    Ánh sáng được chia thành 2 loại:
    • Ambient Lights: là ánh sáng bao trùm cả map, tạo cảm giác sáng, trưa, chiều. Thay đổi bằng cách thay đổi giờ trong game.
    • Omnilight: là ánh sáng trên 1 vùng nhỏ, thường từ model như Lantern, Fire trong Doodad.
    Ngoài ra để bỏ Ambients Light, dùng:
    Mã:
     Custom script: call SetDayNightModels("","")
    __2. Địa hình (terrain):
    Địa hình rất quan trọng với 1 map, nhất là với map thiên về cinematics. Phần này thì mình không nói nhiều, vì nó quá dài. Mời các bạn xem qua tutorial Terrain này do mình viết để tìm hiểu thêm về terrain.

    ___IV. Âm nhạc và âm thanh:
    Âm nhạc và âm thanh là phần không thể thiếu của cinematics, nó có thể làm người xem thấy hài lòng về map. Nếu trong War3 Sound Editor không đủ âm thanh mà bạn cần, bạn có thể tìm thêm trên http://Google.com. Để play nhạc, bạn vào Sound Editor, chọn nhạc/âm thanh và nhấn nút Play Sound hoặc Ctrl + A để nghe thử, nếu đã tìm được âm thanh vừa ý, nhấn nút Use As Sound/Use As Music. Xong, bạn vào trigger để mở nhạc. Ví dụ:
    Mã:
        Events
            Time - Elapsed game time is 0.00 seconds
        Conditions
        Actions
            Sound - Play RainOfFireLoop1 <gen>
    Lưu ý: bạn không thể dùng event Map initialization, nếu muốn mở nhạc/âm thanh vào đầu map thì dùng event Time - Elapsed game time is 0.00 seconds.

    ___V. Canh thời gian chuẩn xác:
    - Rất nhiều người không biết việc này, thường thì ta dùng action Wait vì nó đơn giản. Trong tutorial này, ta sẽ có thêm 1 giải pháp là dùng Trigger Queue.
    - Đến đây, bạn cần có kiến thức cơ bản về trigger và variables (biến)
    - Tạo 2 folder tên General (chứa các trigger bao quát cả map) và Cinematic (cho các trigger khởi tạo cinematic). Tôi khuyên bạn nên chia như thế để dễ quản lí, nó sẽ giúp bạn tiết kiệm thời gian khi tìm trigger.
    - Các Queue Trigger không cần event và condition. Mỗi trigger trong phần Cinematic Trigger phải có 3 phần chính sau:
    • Set Current Scene: Set CurrentScene = (This trigger)
    • Current Scene’s triggers: chứa các action chính của đoạn phim.
    • Next Scene: Countdown Timer - Start NextScene as a One-shot timer that will expire in X seconds
    Như ví dụ dưới đây có đủ 3 phần:
    Mã:
     Scene 01
        Events
        Conditions
        Actions
            -------- Set Current Scene --------
            Set CurrentScene = (This trigger)
            -------- Current Scene's Trigger --------
            Camera - Apply (Current camera) for Player 1 (Red) over 5.00 seconds
            -------- Next Scene --------
            Countdown Timer - Start NextScene as a One-shot timer that will expire in 5.00 seconds
    - 5 seconds là thời gian chuyển từ cảnh 1 sang cảnh 2, bạn có thế thay bằng bất cứ số nào bạn muốn.
    - Trong mục General, tạo 1 trigger bắt đầu bằng Map Initiazation, thêm các action sau:
    Mã:
         Events
            Map initialization
        Conditions
        Actions
            Trigger - Add Scene 01 <gen> to the trigger queue (Ignoring conditions)
            Trigger - Add Scene 02 <gen> to the trigger queue (Ignoring conditions)
            Trigger - Add Scene 03 <gen> to the trigger queue (Ignoring conditions)
    - Thêm các action vào cho đến khi đến cảnh cuối cùng (trong ví dụ trên có 3 cảnh, mỗi cảnh được thực hiện bằng 1 trigger)
    - Hãy nhớ rằng trigger cảnh kế tiếp sẽ không bắt đầu cho đến khi bạn remove trigger cảnh hiện tại khỏi Trigger Queue. Để làm điều đó, tạo thêm trigger trong mục General
    Mã:
     Next Scene
        Events
            Time - NextScene expires
        Conditions
        Actions
            Trigger - Remove CurrentScene from the trigger queue
    - Như vậy, các trigger sẽ được thực hiện lần lượt theo thứ tự. Nói ra có vẻ khó hiểu, nhưng khi làm rồi bạn sẽ hiểu thôi.
    __Thủ thuật:
    o Huỷ bỏ đoạn phim: sẽ dễ hơn khi bạn dùng Trigger Queue. Bạn chỉ cần pause NextScene Timer và xoá Trigger Queue, tất nhiên bạn cũng phải làm màn hình sáng lại (nếu trong cinematic bạn có dùng Fade out) và sắp xếp vị trí các unit như khi kết thúc cinematic
    o Xoá leak: sau khi dùng xong 1 trigger, nếu không cần dùng đến nữa, bạn có tểh xóa nó bằng action sau:
    Mã:
    Custom Script: call DestroyTrigger(GetTriggeringTrigger())
    ___VI. Điều khiển unit:
    - Để làm 1 đoạn phim hay, đặc biệt là các trận đánh 1 vs 1, bạn phải điều khiển các unit hành động (đánh nhau hay chạy nhảy gì đó), thay đổi animation, scaling values, color, hoặc tạo thêm nhiều hiệu ứng,... Điều này phụ thuộc vào khả năng coding của mỗi người, cái này thì trời sinh sau mỗi người tự hưởng, Leo không thể hướng dẫn các bạn hết về phần này được.

    ___VII. Kết thúc:
    - Hi vọng sau tutorial này, sẽ có thật nhiều đoạn phim hay, thậm chí là 1 bộ phim bằng Warcraft III sẽ ra đời. Chúc các bạn thành công.
    - Demo thì mời các bạn vào Hiveworkshop mà download.
     
    Chỉnh sửa cuối: 20/12/12
    dh-g thích bài này.
  2. dh-g

    dh-g Fire in the hole! GVN Veteran

    Tham gia ngày:
    29/8/09
    Bài viết:
    2,654
    Nơi ở:
    Q1 TP.HCM
    bài viết rất hay
    +Rep
    \m/


    aaaaaaaaaaaaaa
     
  3. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Không ai nhận xét gì hết vậy?? Bài dở hay sai gì à? Nói mình sửa chứ
     
  4. thodevil1

    thodevil1 Youtube Master Race

    Tham gia ngày:
    14/5/10
    Bài viết:
    39
    Bài hướng dẫn cu thể wa' . Tuyệt !!!
     
  5. @lily

    @lily Legend of Zelda GVN Veteran

    Tham gia ngày:
    15/6/09
    Bài viết:
    1,178
    Nơi ở:
    SàiGone
    de~ hôm nào về làm thử đã, nhưng nhìn cũng ngầu ấy :)
     
  6. De4thl0v3

    De4thl0v3 Youtube Master Race

    Tham gia ngày:
    11/5/10
    Bài viết:
    51
    hay đó, tk. Bạn có thể làm 1 bài HD nữa về Terrain dc ko?
     
  7. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Phần terrain cũng khá dài, mình đang dịch từ từ, tại không có thời gian nhiều nên cũng hơi lâu, bạn thông cảm
     

Chia sẻ trang này