Phần 1-5: Level đơn giản-BSP, Material, Terrain, StaticMesh, Light Tutorial

Thảo luận trong 'Lưu Trữ' bắt đầu bởi squallleonhart81, 22/8/10.

  1. squallleonhart81

    squallleonhart81 Youtube Master Race

    Tham gia ngày:
    7/9/08
    Bài viết:
    65
    Trích nguồn từ: UDKvietnam.tk

    1.Giới thiệu: Chào các bạn đã đến với BSP tutorial, mình sẽ viết các tutorial để các bạn kịp làm quen với UDK và đây sẽ là tutorial cơ bản các bạn có thể làm quen. Tất nhiên 1 mình không thể viết hết những gì UDK có được, phần còn lại các bạn phải tìm hiểu và nghiên cứu sâu hơn. Nói là tutorial nhưng mình sẽ chỉ những chức năng cần thiết hay dùng nhất và cuối cùng là phần bài tập để các bạn có thể thực hành dựa trên sự tưởng tượng và sự sáng tạo các bạn.
    OK, BSP vốn là các vật thể đơn giản hình học như hình vuông, hình trụ, hình cầu , cầu thang… BSP thường dùng để vẽ nhà cửa, các vật dụng hình học đơn giản ít đỉnh Vertex và đa giác Polygon, hay để dựng các Room, Dungeon và Nền nhà….

    [​IMG]
    + Công cụ chỉnh sửa thì ở BSP tutorial này các bạn chỉ cần để ý : Camera Mode và Geometry Mode thôi, Geometry Mode là công cụ để chỉnh sửa các BSP như: Edit, Extrude, Pen…. Camera Mode chủ yếu để tắt Cửa sổ Các Công Cụ chỉnh sửa để chuyển qua chế độ Camera chứ ko có tác dụng gì khác.
    +Các BSP : phần này mình không cần thiết đề cập nhiều, chỉ nói thêm là các bạn Right_Click vào BSP icon trên thanh Bar này sẽ hiện cho các bạn Cửa số Properties về BSP đó.
    + Các hành động thực hiện thì đa phần ta chỉ cần : CSG Add và CSG subtract thôi. CSG ADD dùng khi bạn đã ưng ý với hình dạng BSP ( khung đỏ ) để tạo. Còn CSG Subtract để chèn vào các BSP khác hình dạng tương ứng với khung BSP ( khung đỏ ), ví dụ như bạn tạo 1 cánh cửa trên 1 bức tường vậy.
    2. Geometry Mode :
    Bây giờ chúng ta sẽ làm quen với các chức năng trong Geometry Mode. BSP chúng ta sẽ có 3 thứ hay chỉnh sửa là : Đỉnh, Cạnh và Bề Mặt. Thường khi làm việc với BSP chúng ta nên để chế độ nhìn là Brush WireFrame ở cả 4 cửa sổ Top-Front-Side-Perspective để tiện cho việc chỉnh sửa
    +Đỉnh:
    [​IMG]
    Đi với Đỉnh ta có 2 chức năng chính là Edit và Pen, 3 chức năng phụ : Create, Delete và Weld. Chúng ta sẽ nói 3 chức năng phụ trước cho dễ.
    -Create: ko phải ấn Create là nó tạo đỉnh cho bạn đâu, mà chức năng này để tạo bề mặt cho BSP đấy. Các bạn đã biết BSP có 3 thành phần là: Đỉnh, Cạnh và bề mặt, bề mặt có tác dụng để áp Material lên đó. Nhưng đôi khi, bạn làm việc với BSP mà bạn lỡ tay chỉ tạo cho nó Đỉnh và Cạnh mà mất Bề Mặt thì sao ??? Create sẽ giúp bạn việc ấy. Ví dụ như hình phía dưới chẳng hạn.
    [​IMG]
    Bề mặt có thể tạo từ nhiều đỉnh như tam giác, tứ giác, lục giác … Nhưng đa số chúng ta thường dùng là tam giác và tứ giác. Để chọn đỉnh ta giữ Ctrl rồi nhấp đỉnh, một cách khác là ta có thể gom các đỉnh bằng Ctrl+ Alt + nhấp giữ chuột kéo rê ở một trong 3 cửa sổ : Top-Front-Side, Perspective không được đâu . Với bề mặt Tam giác thì ta chọn 3 đỉnh rồi Create thì ta sẽ có bề mặt tam giác . Nhưng tứ giác bạn cần phải để ý vị trí các đỉnh bạn chọn phải kề nhau, nếu chọn chéo bạn sẽ cho ra Tam Giác chứ ko phải Tứ Giác. Ví dụ minh họa ở dưới.
    [​IMG]
    -Delete: cái này khỏi giải thích, xóa đỉnh là vui vẻ và dễ chịu nhất. Ghi nhớ là xóa đỉnh thì cạnh và bề mặt liên quan nó cũng bay theo.
    -Weld: Gom các đỉnh về một mối, nhưng nhớ rằng Đỉnh thứ 2 bạn chọn sẽ gom vào đỉnh thứ 1 bạn chọn.
    [​IMG]
    Hình trên là mình muốn gom đỉnh 4 về đỉnh 3. Để thực hiện điều ấy, mình chọn đỉnh 3 trước rồi chọn đỉnh 4 sau.
    Còn giờ là tới 2 chức năng chính.
    -Edit, bạn có thể xoay, di chuyển hay khi bạn gom các góc bạn có thể Scale nó. Cái này dễ nên mình ko nói thêm.
    -Pen: Dùng để vẽ các khối hình học trong 3 cửa sổ: Top-Front-Side. Pen có 2 Setting cần dùng là: Auto Extrude , Extrude Depth. Khi Auto Extrude được Enable, thì khi bạn vẽ xong 4 đỉnh, nó sẽ tự động Extrude cho bạn thành hình khối với độ dày = Extrude Depth. Còn nếu ko Enable thì bạn chỉ có 1 bề mặt 4 đỉnh. Để vẽ bằng Pen, bạn vào 1 trong 3 cửa sổ trên, ấn thanh SpaceBar sau đó SpaceBar nữa để chỉ định đỉnh kế tiếp, để kết thúc bạn phải SpaceBar đến điểm đầu tiên bạn SpaceBar ( Nên phóng to để kết thúc chính xác, nếu ko đúng điểm bạn có thể dùng ESC để xóa đỉnh mới tạo ).

    [​IMG]
    +Cạnh:
    Cạnh có 2 chức năng chính là: Edit và Pen và 2 chức năng phụ là Split và Turn. Về phần Edit và Pen chúng ta sẽ không nói nữa.
    [​IMG]
    -Split là chức năng phân 1 cạnh thành 2 cạnh ở dạng đối xứng.
    [​IMG]
    -Turn là chức năng xoay cạnh, chỉ áp dụng khi nó là cạnh dạng Tam Giác .
    [​IMG][​IMG]
    +Bề mặt: có 3 tính năng chính là : Edit, Pen va Extrude cùng 4 tính năng phụ: Delete, Flip, Triangulate và Optimize.
    [​IMG]
    -Flip: 1 BSP có 2 bề mặt là mặt trước và mặt sau giống như bàn tay ta có 2 mặt. Nhưng với những người tối ưu thì họ không muốn máy tính họ phải tính toán mặt mà họ không dùng, do đó họ sẽ dùng Flip để xóa bề mặt ấy đi. Bạn cũng có thể dùng Delete để xóa nhưng nó là xóa 2 mặt, còn Flip thì xóa 1 mặt.
    -Delete: như đã nói phần trên
    -Triangulate : Biến mặt thành Tam Giác.
    -Optimize: chức năng này nghe có vẻ tốt nhưng tôi thì chả thấy có tác dụng gì đôi khi còn gặp lỗi nữa, nó dùng để tối ưu đơn giản hóa các đỉnh, cạnh bề mặt …. Nhưng tôi thấy nó tối ưu xong là tôi xóa hoặc UNDO là tốt nhất.
    Extrude thì khá dễ, bạn có thể sử dụng trức tiếp bằng cách kéo trong Editor hoặc sử dụng Setting với các thông số rồi Apply.
    [​IMG]
    3.Các BSP:
    Chỗ này thì các bạn có thể tự xem thêm. Nói thêm tí là nếu bạn muốn cái khối hình hộp trên thành khối hộp có bề dày thì hãy Right_Click lên icon Cube , bạn sẽ thấy các Properties trong cửa sổ hiện ra, để ý có option Hollow đấy, check nó và kiểm nghiệm nhé. Ngoài ra các BSP khác có những tính năng riêng nhưng mình nghĩ các bạn có thể tự tìm hiểu thêm.

    4.Các hành động thực hiện:
    -CSG Add: sau khi hình dạng khung BSP ( khung đỏ ) đã ưng ý thì hãy click nút này để tạo.
    -CSG Subtract: để cắt 1 khung trên 1 BSP dựa trên khung BSP ( khung đỏ ) .

    [​IMG]
    OK, đến đây chúng ta đã tìm hiểu xong BSP, ở đây tóm lại 1 số lưu ý như sau:
    +Bạn chỉ có thể Ctrl+Alt + Nhấp giữ chuột kéo rê trong 3 cửa sổ Top-Front-Side.
    +Bạn có thể gom từng cái bằng giữ phím Ctrl.
    +Bạn có thể đo khoảng cách trong 3 cửa số Top-Front-Side bằng cách nhấp chuột giữa rồi kéo rê.
    + Để Create 1 bề mặt tứ giác thì bạn phải chọn các đỉnh theo thứ tự kề nhau
    + Để Weld thì Đỉnh thứ 2 sẽ gom vào Đỉnh thứ 1.

    Bài tập: Các bạn hãy tạo thứ các bạn muốn bằng BSP sử dụng các tính năng trên. Còn nếu ko có thể Down file này về bỏ vào UDKGame/Content/Maps, rồi vô UDK chọn map này để xem hoặc làm theo tùy ý tưởng. Nhớ để ở dạng Unlit hoặc các bạn có thể tạo ánh sáng để Play thử. Và sau khi làm nhớ Build All ( BSP + Lighting )
    Mã:
    http://www.mediafire.com/?d66cln9lp2t84
    [​IMG]
    [​IMG]
     
  2. squallleonhart81

    squallleonhart81 Youtube Master Race

    Tham gia ngày:
    7/9/08
    Bài viết:
    65
    Trích nguồn từ : UDKVietnam.tk
    OK, chúng ta đã có BSP đơn giản rồi giờ công việc tiếp theo chúng ta sẽ là áp vật liệu cho nó gọi là Material. Trong phần này chúng ta sẽ chỉ học cách tinh chỉnh, áp vật liệu lên BSP thôi. Còn làm cách nào để tạo Material thì mình sẽ viết Tutorial nâng cao riêng về nó. Nhưng trước hết mình sẽ nói một tí về Material.
    Nếu như những bạn thuộc về ngành đồ họa thì quá hiểu rõ rồi. Material được tạo từ các hình ảnh Texture 2D vốn là những ảnh tĩnh, thông thường các Object trong các chương trình 3D không thể sử dụng trực tiếp các Texture này mà phải là Material, tùy các trình 3D mà nó hỗ trợ các chức năng như Diffuse ( khuếch tán ), Emissive ( phát sáng ), Specular ( phản ánh sáng )… khác nhau. Material có công dụng rất lớn, bạn có thể tạo ra Material bầu trời trong đó có mây di chuyển, rồi áp vào khối cầu là bạn có 1 sky rồi đấy, hay mặt nước chảy, bạn đừng nghĩ cao siêu đó là do Mesh chuyển động mà là đó là Material đấy. Nói đến đây thôi còn bạn muốn biết thêm thì trong UDK có khá nhiều Material cho bạn tham khảo đấy. Vào Content Browser >>> Phần Object Types chọn Material >>> Sau đó nhấn All Assets là bạn có vô khối để tham khảo. Ngoài ra bạn còn có thể search tùy theo tên bạn muôn tìm ở khung trên.
    [​IMG]
    Còn bây giờ là cách bạn áp Material lên mọi Object như staticmesh, BSP…:
    +Cách 1: kéo Material lên bề mặt object và nhớ là phải để ở chế độ View UNLIT hoặc LIT nhé.
    [​IMG]
    +Cách 2: nhấp chọn Material trong Content Browser ( nó sẽ hiện khung vàng ), sau đó Right_Click lên bề mặt Object >>> Chọn Apply Material ….
    [​IMG]

    Lưu ý: để áp Material lên nhiều bề mặt chỉ có 1 cách duy nhất là cách 2, bạn sử dụng Ctrl để gom nhiều bề mặt rồi Right_Click lên 1 bề mặt đã chọn >>> cứ theo cách 2 mà làm.

    Chỉnh sửa tọa độ Material.
    Công cụ sử dụng là Surface Properties, bằng F5 hoặc View >>> Surface Properties.
    [​IMG]
    Ở đây chúng ta chỉ quan tâm 3 phần là Pan, Rotation và Scale thôi. Mấy cái kia thì bạn muốn tìm hiểu thêm thì tùy.
    +Pan: dịch chuyển Material theo 2 hướng U: ngang, V:dọc. Các con số 1,4,16,64 là tốc độ dịch chuyển nhiều hay ít. Thường mấy cái này sử dụng để các Material ở 2 BSP khác nhau khớp với nhau nhìn cho đẹp thôi. Thường U qua phải, V đi xuống, nhưng nếu bạn có giữ Shift thì U qua trái, V đi lên.
    +Rotation: dùng để xoay Material.
    + Scale dùng để phóng to thu nhỏ Material. Riêng Scale có nút Apply bên phải để thực hiện đấy.

    Ok, phần này chỉ có thế thôi, tóm lại 1 số lưu ý sau:
    -Bạn chỉ có thể áp Material trong chế độ View Lit hoặc UnLit.
    -Khuyến khích khi làm cái này nên dùng Unlit để thấy rõ Material, vì Lit bạn phải có Light mà ko có Light thì khỏi thấy đồng thời phải Build Light hoặc Build All mới thấy.
    -Áp Material lên nhiều Surface chỉ có 1 cách là gom nhiều surface bằng Ctrl sau đó Right_click surface đã chọn >>> Apply Material.
    -U:phải, V:Xuống. Nếu có giữ Shift thì U:trái, V:lên

    Bài tập: hãy sử dụng các material có trong UDK để áp cho BSP trong phần 1 của bạn. Đây là ảnh minh họa
    [​IMG]
    [​IMG]
     
  3. squallleonhart81

    squallleonhart81 Youtube Master Race

    Tham gia ngày:
    7/9/08
    Bài viết:
    65
    Trích nguồn từ: UDKVietnam.tk
    Nếu như BSP được dùng để tạo các Dungeon thì Terrain được dùng để tạo những Map lớn như: đồng bằng, đồi núi, sông ngòi…Và bây giờ là lúc bạn có thể thỏa thích tạo những Map mà bạn yêu thích nhé.
    1. Group : Trước khi đi vào Terrain, mình cần hướng dẫn bạn cách Group các Object từ Tutorial BSP trước đã. Bạn mở Content Browser lên, nhìn lên các Tab tìm Tab Groups
    [​IMG]
    Sau đó nhìn lên thanh công cụ chọn Groups >>> New >>> đặt cho nó một cái tên ( tôi đặt là Building).
    [​IMG]
    Nào bây giờ vào 1 trong 3 cửa sổ Top-Front-Side hãy chọn toàn bộ các Object bằng Ctrl+Alt+ nhấp giữ chuột và rê để quét các Object. Sau đó vào Content Browser >>> Tab Groups >>> Của tôi là Building nên tôi nhấp chọn Building ( nhấp 1 chứ ko phải Double Click nhé ) >>> Group >>> Chọn Add Selected Actors to Group.
    [​IMG]
    Còn nếu muốn bỏ 1 Actor khỏi Group thì chọn Actors đó trong Group đó, rồi lên thanh công cụ Group >>> Delete Selected Actor from Groups.
    Xong bây giờ bạn hãy Double Click lên tên Group bạn muốn sử dụng toàn bộ ( của tôi là Building ) rồi vào Cửa sổ Top-Front-Side-Perspective coi có phải bạn gom đủ và đúng chưa, nếu chưa đủ thì chọn cái còn thiếu rồi Add Selected to Group là xong.
    2.Terrain:
    Để tạo mới một terrain bạn vào Tool >>> New Terrain.
    [​IMG]
    OK, Location là vị trí Terrain mới tạo sẽ ở đâu, (x,y,z)=(0,0,0) là ở trung tâm Editor. Patches là độ rộng lớn của Terrain, bạn đừng lo nếu bạn tạo Terrain quá nhỏ, cứ chọn đại đi rồi tôi sẽ chỉ cách để chỉnh nó rộng ra >>> Xong rồi Next và Finish.
    [​IMG]
    Nào, giờ bạn muốn chỉnh nó to thêm hoặc nhỏ đi thì nhấp vào Terrain ấy, xong nhấn F4 hoặc vào View >>> Actor Properties. Và tìm thông số Num Patches X và Num Patches Y để thay đổi Terrain.
    [​IMG]
    Và bây giờ chúng ta sẽ tìm hiểu về Terrain Editor.
    [​IMG]
    Tôi không nói toàn bộ mà chỉ nói những cái hay cần để làm việc thôi. Nhìn vào những cái tôi đánh dấu nhé.
    [​IMG]

    Trong Phần Tool: chúng ta sẽ sử dụng: Paint, Flatten, Smooth, Average, Noise, Visibility, SplitX, Split Y và Merge
    +Paint: dùng để nâng địa hình lên hoặc xuống. Để thực hiện, chọn Paint, giữ Ctrl + Left Click để nâng lên và Ctrl + RightClick để hạ xuống.
    +Flatten: làm cho địa hình bằng phẳng . Để thực hiện, Chọn Flatten, giữ Ctrl+ LeftClick.
    +Smooth: làm cho địa hình nhìn mượt và tròn hơn. Để thực hiện, chọn Smooth, giữ Ctrl+LeftClick để làm Smooth , Ctrl+RightClick để trả về tình trạng trước đó.
    +Average: gần giống smooth + Flatten. Rất khó sử dụng.
    +Noise : làm địa hình lồi lõm khác nhau một cách Random. Thực hiện như cách trên.
    +Visibility: làm biến mất một mảnh địa hình. Để thực hiện xóa ta dùng Ctrl+LeftClick, để phục hồi ta dùng Ctrl+RightClick. Thường dùng để tối ưu những vùng không cần thiết.
    +SplitX, Split Y và Merge: dùng ta chia địa hình theo chiều X-Y thành các terrain nhỏ. Merge để ghép chúng lại.

    Trong phần Settings: thì chỉ cần để ý : Strength , Radius và Falloff. Strength là độ mạnh yếu , Còn Radius và FallOff coi như bán kính trong và bán kính ngoài.
    Các phần: View Settings, Import/Export, Brushes không cần để ý lắm.
    Còn Tessellation thì khá quan trọng: bạn cũng biết số polygon càng nhiều thì khả năng càng đẹp. Tessellation cũng thế, nếu bạn muốn Terrain nhìn smooth hơn thì có thể Increase nó, tuy nhiên nên nhớ càng chi tiết càng smooth khi Increase cũng đồng nghĩa càng nặng.
    Giờ thì ta sẽ áp Material vào terrain, chúng ta có thể áp nhiều Material khác nhau lên Terrain . Để áp vật liệu, bạn mở Content Browser >>> chọn Material muốn áp >>> vào TerrainEdit >>> Right_Click vào khung trống phía dưới >>> Chọn New Terrain Setup Layer from Material ( Auto-Create ). Bạn muốn thêm cái khác thì cứ như thế.
    [​IMG]
    Sau khi áp Material đầu tiên bằng cách trên thì Terrain sẽ tự động áp Material đó vào toàn bộ Terrain. Còn để áp với Material thứ 2, bạn làm như sau: Chọn Paint và Click vào Material thứ 2 >>> giữ Ctrl+LeftClick để vẽ lên Terrain những chỗ muốn áp Material thứ 2, nếu bạn áp nhầm nơi bạn có thẻ Ctrl+RightClick để tẩy Material thứ 2 vừa vẽ. Kết hợp với Strength sẽ cho độ mờ rõ khác nhau.
    [​IMG]

    OK đấy là những kiến thức về Terrain, và như thường lệ là những ghi chú:
    +Bạn nên Group các vật thể với nhau để tiện bề di chuyển, xoay…
    +Có thể điều chỉnh độ lớn của Terrain bằng F4 ( actor Properties) .
    +Bạn có thể tăng giảm độ chi tiết của Terrain bằng Tessellation.
    +Bạn có thể áp nhiều Material lên Terrain.
    + Hãy sử dụng Ctrl+LeftClick để thực hiện và Ctrl+RightClick để làm ngược lại.
    Và đây là bài tập của bạn, hãy tạo cho bạn một Terrain ưng ý như đồi núi, đồng bằng… Đây là hình tham khảo
    [​IMG]
    [​IMG]
     
  4. squallleonhart81

    squallleonhart81 Youtube Master Race

    Tham gia ngày:
    7/9/08
    Bài viết:
    65
    Trích nguồn từ: UDKvietnam.tk

    Trong UDK chia làm 2 dạng Mesh là StaticMesh và SkeletalMesh. SkeletalMesh là những Mesh được gắn Bone như char, vũ khí, phương tiện… Còn StaticMesh là những Mesh tĩnh không có Bone như Plane, nhà cửa… StaticMesh có thể được tạo từ các BSP trong UDKeditor hoặc có thể được tạo ra bằng cách chương trình 3D như 3DSMax, Maya, Zbrush... Thông thường người ta sử dụng StaticMesh được tạo ra từ các trình 3D hơn là các BSP của UDK vì UDK không phải là 1 trình 3D hoàn chỉnh cho việc thiết kế các vật thể 3D, hơn nữa các StaticMesh cơ động hơn ở chỗ có thể tùy chỉnh việc áp Material linh hoạt, trong khi các bạn đã biết để áp cho BSP các bạn khá là thủ công. OK, đó là những kiến thức cơ bản thôi. Phần này mình nghĩ không tốn nhiều thời gian của bạn, chủ yếu chúng ta biết cách làm sao để sử dụng StaticMesh thôi, còn vấn đề tạo và chỉnh sửa thì sẽ có tutorial nâng cao, tất nhiên mình sẽ dựa trên tài liệu là chính vì khúc này mình thuộc lĩnh vực mỹ thuật mà mình thì là dân Programmer ^^ .

    Bạn có thể nhận biết các StaticMesh thông qua View Frame, các StaticMesh sẽ có màu xanh lá cây.
    [​IMG]
    Để sử dụng StaticMesh có 2 cách:

    +Cách 1: Mở Content Browser , kéo thả StaticMesh từ trong ContentBrowser vào trong Level. Đây là cách đơn giản và nhanh nhất.

    +Cách 2: Mở Content Browser, chọn StaticMesh , rồi vào Level >>> Right_Click >>> Chọn Add Actor >>> Chọn Add StaticMesh : <tên staticmesh >.

    [​IMG]
    Kế tiếp là chỉnh sửa độ to nhỏ, xoay của staticMesh:

    +Cách 1: sử dụng trực tiếp các tác vụ trên thanh công cụ : move, rotate, scale. Tuy nhiên nếu bạn chỉ muốn nó dày hơn hoặc ngắn hơn chỉ theo chiều x thì cách này không thể scale được mà phải là cách 2.
    [​IMG]
    + Cách 2: sử dụng Properties bằng cách nhấp lên StaticMesh ấy, rồi nhấn F4 hoặc View >>> Actor Properties.
    [​IMG]
    Bạn sẽ thấy có khá nhiều Options, nhưng đừng lo bạn chỉ cần quan tâm StaticMeshActor thôi. Trong StaticMeshActor có StaticMeshComponent, sổ toàn bộ chức năng đó xuống bạn sẽ thấy những chức năng của StaticMeshComponent như : Collision ( tùy chỉnh va chạm ), Lighting ( tùy chỉnh ánh sáng ), Lightmass( tùy chỉnh khối ánh sáng ), Physic ( vật lý ), PrimitiveComponent ( các thành phần cơ bản ) >>> và chúng ta sẽ sử dụng các thành phần cơ bản này ( Primitive Component) .
    Trong Primitive Component bạn sẽ thấy: Rotation, Scale 3D và Translation, hãy sử dụng chúng bằng các giá trị khác nhau bạn sẽ có kích thước bạn như ý .

    Rất dễ phải không nào, đấy là cách sử dụng StaticMesh trong UDK, còn việc chỉnh sửa Material, làm sao để thay đổi hình dạng thì mình sẽ cố viết một tutorial nâng cao sau khi hoàn thành Tutorial LevelBasic này.

    Bài tập: hãy sử dụng các StaticMesh có sẵn trong UDK để trang trí cho ngôi nhà của bạn. Đây là một số hình ảnh gợi ý.
    [​IMG]
    [​IMG]
    [​IMG]
     
  5. squallleonhart81

    squallleonhart81 Youtube Master Race

    Tham gia ngày:
    7/9/08
    Bài viết:
    65
    Trích nguồn từ: UDKvietnam.tk

    UDK có các loại ánh sáng sau:
    +Point Light: là loại ánh sáng tỏa xung quanh một điểm, giống như ánh sáng của ngọn nến.
    +SpotLight: là loại ánh sáng phát tán, giống như áng sáng đèn pin.
    +SkyLight: là loại ánh sáng khắp mọi nơi, một level chỉ cần 1 Skylight, nó giống như ánh sáng trời đất, thường dùng để tạo ngày đêm.
    +Directional Light: là ánh sáng chiếu theo 1 hướng, một level chỉ cần 1 DirectionalLight, nó giống như ánh sáng mặt trời chiếu rọi, thường dùng để tạo hướng mặt trời chiếu.
    Đây là 4 loại ánh sáng cơ bản và mỗi loại còn chia ra những dạng ánh sáng phụ như : DirectionalLightToggleable, DominantDirectionalLight, PointLightMoveable …. Chúng ta sẽ tìm hiểu sâu hơn ở Tutorial nâng cao, còn bây giờ là học cách sử dụng chúng.
    Có 2 cách để tạo Light:

    +Cách 1: giữ phím L và Left_Click vào trong Level là bạn đã có 1 Point Light, đây là mặc định của UDK. Tuy nhiên bạn chỉ có thể tạo SpotLight, SkyLight và DirectionalLight bằng cách 2.

    +Cách 2: sử dụng Cửa sổ Content Browser, chọn Tab Actor Classes, tìm Light và bạn sẽ thấy các loại Light cùng các Light phụ.
    [​IMG]
    Như mình nói tạm thời chúng ta chưa tìm hiêu những Light phụ nên bạn không cần chọn những Light con mà hãy chọn những Light cha như: DirectionalLight, PointLight, SpotLight, SkyLight là đủ dùng. Nhấp vào một Light bạn muốn dùng, sau đó vào Level >>> Right_Click >>> Chọn Add <tên_light> Here .
    [​IMG]

    Bạn có thể xoay, di chuyển, phóng to thu nhỏ bán kính bằng thanh công cụ, hoặc sử dụng Spacebar để chuyển đổi nhanh chóng giữa di chuyển, xoay, phóng to thu nhỏ. Bạn cũng có thể Copy Paste một cách bình thường hoặc nhanh hơn bằng cách: nhấp vào đối tượng muốn Copy, sau đó giữ phím Alt + kéo rê đối tượng ấy qua vị trí khác là Paste.

    [​IMG]
    Để tùy chỉnh độ sáng, bạn dùng Actor Properties hoặc F4.
    [​IMG]
    Chủ yếu ta quan tâm Brightness để chỉnh độ sáng tối, còn Light Color để chỉnh màu ánh sáng thôi.
    Và cuối cùng bạn cần là Build Light, hoặc Build All để UDK build lại ánh sáng cho bạn, vì một số trường hợp bạn thấy trong này là thế nhưng build ra có thể khác đấy. Hãy Build và chỉnh sửa cho phù hợp với bạn.
    Bài tập: hãy sử dụng đủ 4 loại Light ấy vào trong Map của bạn, hoặc theo gợi ý sau:
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
     
  6. squallleonhart81

    squallleonhart81 Youtube Master Race

    Tham gia ngày:
    7/9/08
    Bài viết:
    65
    Trích nguồn từ: UDKvietnam.tk
    Chúng ta đã trải qua 5 phần để làm quen với UDK rồi. Và đây sẽ là phần cuối cùng trong thiết kế Level đơn giản, phần 6 này chúng ta sẽ làm quen với Kismet, Matinee và tạo GameStart.
    +Kismet có thể xem như hệ thống vận hành, quản lý các sự kiện trong Game, ví dụ như: khi nào quái vật xuất hiện, khi nào kết thúc Game, và rất nhiều. Kismet là phần duy nhất của Editor có liên quan tới Code rất nhiều, những chức năng có sẵn của UDK không đáp ứng hết các yêu cầu của người sử dụng vì thế lúc này người sử dụng cần phải code để tạo thêm các Template cho bản thân. Tuy nhiên đừng lo lắng, bạn sẽ làm việc ấy khi bạn là một Master còn bây giờ bạn chỉ học cách sử dụng mà thôi. Nhưng có một điều tôi muốn nói rằng, bạn có thể sẽ có suy nghĩ UDK hỗ trợ quá tốt, tôi có thể tạo 1 game mà không đụng đến code, thì mình xin thưa rằng có thể được đấy nhưng đó chỉ là demo chứ không phải một game hoàn chỉnh, bản thân UDK đã được build với demo Unreal Tournament rồi, những gì bạn cần làm còn lại là xây dựng Map, thiết kế Level là xong. Nếu bạn có ý làm FPS thì không vấn đề nhưng nếu là RTS hoặc RPG thì đừng suy nghĩ như thế vì UDK không có build sẵn demo RPG, RTS cho bạn dùng đâu.
    +Matinee : là hệ thống quản lý các sự kiện chuyển động trong Game như thang máy, các đoạn cắt cảnh, thiết lập bẫy, cơ quan, cùng nhiều thứ khác. Matinee không liên quan đến code nên bạn không phải ngại như Kismet.
    +GameStart: định vị vị trí bắt đầu khi vào game.

    [​IMG]
    OK, bây giờ chúng ta sẽ có nhiệm vụ như sau: Khi ta đứng trước cánh cửa, cánh cửa sẽ tự động mở và khi ta đứng xa cánh cửa sẽ tự động khép lại , y như cửa tự động vậy.
    -Trước tiên chúng ta cần chuẩn bị vài thứ: cửa thì bạn có thể vào Content Browser, gõ từ khóa Door rồi Enter, hãy chọn cánh cửa StaticMesh nào bạn thấy được. Còn tôi sẽ chọn cánh cửa này.
    [​IMG]

    Bạn có thể kéo từ Content Browser vào nhưng với StaticMesh có sử dụng Matinee thì bạn không thể làm cách này, vì một lát khi đụng tới Animation cho cánh cửa, Matinee sẽ báo lỗi Dynamic StaticMesh. Vì một lát tôi sẽ sử dụng Matinee để làm Animation cho cánh cửa này nên tôi phải chọn InterpActor StaticMesh bằng cách sau: Chọn 1 StaticMesh trong Content Browser >>> Right_Click vào Level >>> Chọn Add Actor >>> Chọn Add InterpActor.
    [​IMG]
    Bây giờ bạn hãy sắp xếp cánh cửa sao cho vừa ý với bạn. Chú ý, bạn có thể thay đổi tọa độ Định vị XYZ của 1 Object bằng cách sử dụng Actor Properties hoặc F4 >>> Display >>> Pre Pivot. Hãy nhớ cái này, vì tôi chắc bạn sẽ dùng nó đấy.
    [​IMG]
    [​IMG]

    Bây giờ để có thể bắt sự kiện đến gần cửa là cửa mở, bạn cần phải có Trigger.
    [​IMG]
    Viền màu xanh lá bạn thấy chính là Collision của nó, để tạo Trigger , bỏ chuột vào trong Level >>> Right_Click >>> Add Actor >>> Add Trigger. Bạn có thể chỉnh độ to nhỏ Trigger bằng Scale hoặc F4 >>> Trigger >>> Cylinder Component >>> kéo xuống tìm Collision Height và Collision Radius.

    Kế tiếp bạn cần Kismet để xử lý sự kiện này, Nhấp vào Trigger ấy >>> Mở Kismet lên >>> Right_Click chọn New Event Using Trigger >>> Chọn Touch.
    [​IMG]
    Việc chạm này sẽ khiến cho cánh cửa mở, vì vậy ta cần Matinee để thực hiện điều ấy, trong Kismet >>> Right_Click >>> Chọn New Matinee.
    [​IMG]
    Double Click lên Matinee đó hoặc bạn dùng trên thanh công cụ Editor để mở cửa sổ Matinee. Chọn 1 cánh cửa trong Level, rồi vào Matinee >>> Right_Click >>>Add New Empty group >>> Đặt 1 cái tên nào đó .
    [​IMG]
    Sau đó nhấp vào cái bạn vừa tạo >>> Right_Click >>> Chọn Add New Movement Track.
    [​IMG]
    Bây giờ là một số thao tác đơn giản, để ý những cái mình khoanh tròn:
    + Để Zoom TimeLine, các bạn dùng Scroll Để Zoom In –Zoom Out.
    +2 cột màu đỏ là giới hạn.
    +Vùng màu xanh là thời lượng Animation.
    + Nhấp Enter để tạo Key.
    + Thanh màu đen là định vị thời gian Animation.
    [​IMG]
    OK, chúng ta sẽ tiếp tục tạo cánh cửa chuyển động. Chúng ta cần cánh cửa mở trong 2 giây, do đó hãy kéo cột giới hạn từ 0 đến 2s và kéo cột thời lượng Animation trong 2 giây đó.
    [​IMG]
    Khi ta tạo Movement Track, mặc định UDK tạo cho bạn Key đầu tiên tại 0 giây rồi, kế tiếp là ta tạo 1 Key ở 2 giây bằng cách kéo thanh màu đen định vị ở 2 giây rồi ấn Enter để tạo Key.
    [​IMG]
    Bây giờ bạn vào trong Level, di chuyển cánh cửa hoặc Xoay cánh cửa tùy ý. Nếu bạn di chuyển cánh cửa, bạn sẽ thấy rõ có 1 đường màu vàng, đó là đoạn Animation đấy. Sau đó kéo thanh định vị màu đen về 0 giây, rồi ấn Play để xem kết quả.
    [​IMG]
    Tốt bây giờ hãy làm như thế cho cánh cửa còn lại cũng y chang thế trên bằng New Empty Group.

    Bây giờ ta trở lại Kismet để xử lý nốt sự kiện. Nhấp vào Trigger >>> Trong Properties tìm Max Trigger Count >>> sửa 1 thành 0. Nếu ta để 1, trigger sẽ chỉ hoạt động 1 lần rồi vĩnh viễn không hoạt động nữa, giá trị 0 sẽ disable chức năng này.
    [​IMG]
    Khi ta tới gần cánh cửa sẽ mở, do đó ta nối Touched >>> Play ; khi ta không ở gần cánh cửa sẽ đóng lại , do đó ta nối UnTouched >>> Reverse để cánh cửa thực hiện ngược lại đoạn Animation trước. Để kéo, bạn nhấp vào điểm đen bên Trigger sau đó kéo nó vào điểm đen bên Matinee.
    [​IMG]
    Good, bây giờ chúng ta sẽ tạo GameStart, nơi nhân vật chúng ta sẽ ở đó khi mới vào Game. Bạn vào Level >>> Right_Click >>> Add Actor >>> Add Player Start . Thế là xong. Lên thanh công cụ nhấp vào Play this level in an editor window ( Lên đầu trang để xem chỗ mình đánh dấu trong Hình đầu tiên ).
    Vậy là chúng ta đã hoàn thành làm quen UDK với tutorial Level Đơn Giản rồi, UDK vẫn còn rất nhiều thứ để bạn khám phá. Bạn đừng nghĩ UDK chỉ biết có mỗi game FPS , bạn có thể thiết kế Race, Sport, RTS, RPG đủ loại với khả năng của bạn, cả game 2 chiều ( thật chất là 3D ). Mình hy vọng sau Tutorial này, có thể kích thích niềm đam mê Game của các bạn, hiện tại forum mình hầu như chỉ có mình hoạt động nhưng mình sẽ cố viết những Tutorial để các bạn có thể tham gia nghiên cứu và khám phá UDK cùng mình. Nhưng cũng có điều phải nói rằng, dù rất muốn chia sẻ hết những gì mình biết nhưng kiến thức nó rất nhiều, mình không thể nào một mình mà đưa ra hết, cái mình chắc chắn là nếu được phần nào mình sẽ chia sẻ và phần còn lại là các bạn khám phá và chia sẻ ngược lại cho mình là mình vui rồi ^^. “ Chia sẻ để cùng nhau phát triển “.
     

Chia sẻ trang này