1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu hướng dẫn làm game trên unity

44 770 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 2,66 MB

Nội dung

hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game, hướng dẫn làm game

Tài liệu học Unity 3D Unity engine mạnh lập trình game 3d, mô hệ thống 3d, đồng thời Unity hỗ trợ xuất hệ điều hành di động với phiên khác Nhóm phát triển game, đào tạo lập trình viên unity đồ họa 3d 3dvietpro giới thiệu với bạn bước làm quen với Unity: I Cài đặt sử dụng đối tượng Unity Để cài đặt bạn vào: http://unity3d.com/ để download phiên free Sau cài dặt xong bạn mở chương trình unity ý hình sau: Hình: + Scene: giao diện thiết kế game unity + Game: giao diện hiển thị chương trình game unity Hình: Tương ứng với phím (Q,W,E,R), đó: + Q có biểu tượng bàn tay giúp bạn dịch chuyển vị trí hình + W dùng để lựa chọn đối tượng, dịch chuyển theo hướng x (màu đỏ), y( xanh lam), z(xanh da trời) Bạn muốn đối tượng dịch chuyển theo chiều khác việc click vào mũi tên kéo theo chiều + E dùng để xoay đối tượng theo hướng khác + Phím R đùng để kéo đối tượng to nhỏ so với kích thước Ví dụ: Thành Các bạn làm quen với trục tọa độ hình dưới: Ở tọa độ theo 3d, bạn muốn chuyển tọa độ 2d theo chiều chọn bạn chị việc nhấn vào từ “Persp” phía thành Giao diện Unity Hierarchy: dùng để chứa đối tượng cần lập trình Unity Bạn tạo đối tượng cách nhấn vào Create, hình vào đối tượng “Cube” Muốn tìm đối tượng hình thiết kế (Scene) bạn cần nhấn phím “F” Giao diện Inspector: Đó thuộc tính đối tượng unity, với hình 3dvietpro cho bạn biết về: + Position: vị trí đối tượng theo chiều x, y, z mặc định + Rotation: Vị trí xoay đối tượng theo chiều x, y, z, mặc định + Scale: phóng to thu nhỏ đối tương theo chiều x, y, z Nếu bạn thay đổi lộn xộn vị trí đối tượng unity bạn cần nhấn vào biểu tường bánh bên phía tay phải chọn “reset”, tức đối tượng trở trạng thái ban đầu Giao diện Project: Dùng để chứa file lập trình, âm thanh, hình ảnh, hiệu ứng, texture unity Hướng dẫn làm đối tượng di chuyển nhảy unity Hôm hướng dẫn bạn học unity đơn giản viêc học unity, điều khiển trái bóng di chuyển hướng nhảy lên bàn phím Bước 1: bạn tạo bóng mặt phằng để bóng di chuyển Các bạn nhìn thẻ Hierarchi có Create, bạn vào chọn Sphere( khối cầu) Plane (mặt phẳng) Các bạn Create thêm Direction light để không gian sáng Các bạn kéo trục tọa độ Y để cầu nằm mặt phẳng Sau bạn kéo chiều dài chiều rộng mặt phẳng lớn để bóng di chuyển thoải mái cách chỉnh thông số Scale Plane thẻ Inspector Vậy bước chuẩn bị hoàn thành Bước 2: Để bóng di chuyển được, cần viết script cho nó, bạn nhìn thẻ Project, chuột phải vào Assets -> Create -> C# Script (ở dung ngôn ngữ C#) Một Script tạo ra, bạn đặt tên cho Mình đặt tên “move”.Sau bạn nháy đúp vào script, cửa sổ MonoDevelop mở để chúng code Các bạn code sau: Câu lệnh “rigidbody.Addfore” giúp ta đẩy bóng với lực theo vector Sau code xong bạn ấn Ctrl+S để lưu lại quay lại cửa sổ Unity, dùng chuột kéo file script (của file move) vào đối tương Sphere (quả bóng) Bây đối tượng Sphere điều khiển script “move” Vậy ta xong phần viết lệnh điều khiển trái bóng Bước Để bóng nhận lực tác dụng vào phải có khối lượng, để tạo khối lượng cho bóng, bạn chọn vào “Add component” thẻ Inspector Sphere Các bạn chọn Physics -> Rigidbody Hình 4.1.7 Hình sau lựa chọn xong, vạch màu xanh Wheel Collider Bước 7: Bạn thực tương tự bước 4,5,6 với bánh xe lại Bước 8: Viết lênh cho bánh xe chuyển động cách tạo file C#, sau bạn kéo vào xe - Chúng ta khai báo dòng lệnh sau Public // Biến để thực làm chuyển động bánh xe public Transform WheelFL; public Transform WheelFR; public Transform WheelRL; public Transform WheelRR; //Biến để thực làm chuyển động Collider public WheelCollider WheelFL_col; public WheelCollider WheelFR_col; public WheelCollider WheelRL_col; public WheelCollider WheelRR_col; - Khai báo tốc độ góc quay bánh trước xe public float speed =40f; public float angle=60f; - Để thực làm chuyển động, thực tế cho thấy phải dùng lực đẩy bánh sau bánh trước có nhiệm vụ quay góc làm bánh lái cho xe chạy theo hướng điều khiển Các bạn viết hàm sau Update: WheelRL_col.motorTorque = speed * Input.GetAxis("Vertical"); WheelRR_col.motorTorque = speed * Input.GetAxis("Vertical"); //WheelFL_col.motorTorque = speed * Input.GetAxis("Vertical"); //WheelFR_col.motorTorque = speed * Input.GetAxis("Vertical"); - Tạo góc quay cho bánh trước WheelFL_col.steerAngle = angle * Input.GetAxis ("Horizontal"); WheelFR_col.steerAngle = angle * Input.GetAxis ("Horizontal"); - Trong Update bạn viết thêm hàm sau để quay bánh xe: WheelRL.Rotate (speed*Input.GetAxis("Vertical"),0,0); WheelRR.Rotate (speed* Input.GetAxis("Vertical"),0,0); WheelFL.Rotate (speed*Input.GetAxis("Vertical"),0,0); WheelFR.Rotate (speed * Input.GetAxis ("Vertical"), 0, 0); Và để xác với tốc độ quay thay biến speed dòng lệnh sau: “WheelFL_col.rpm/60*360” - Để bánh trước làm bánh lái dùng dòng lệnh sau: WheelFL.localEulerAngles = new Vector3(WheelFL.localEulerAngles.x, angle * Input.GetAxis("Horizontal"), WheelFL.localEulerAngles.z); WheelFR.localEulerAngles = new Vector3(WheelFL.localEulerAngles.x, angle * Input.GetAxis("Horizontal"), WheelFL.localEulerAngles.z); Thế viết lệnh chuyển động cho bánh xe, bạn cần gán đối tượng Public cho biến khai báo chạy chương trình: Hình 4.1.8 Kéo đối tượng vào biến xe 3D Bước 9: Kết chạy Như phần nhóm 3dvietpro hướng dẫn bạn làm xe chuyển động cách sử dụng Wheel Collider Các bạn lưu ý số thuộc tính sau Wheel Collider: motorTorque : Tạo động lực cho bánh xe steerAngle : Tạo góc cho bánh Để lấy vận tốc xe bạn thực lệnh sau: “rigidbody.velocity.magnitude * 3.6f” Vận tốc * thời gian (3.6f) = Số km/h Sử dụng di chuyển camera Các hàm thường sử dụng: + LookAt: Hướng camera theo vị trí cần nhìn LookAt(Transform target, Vector3 worldUp = Vector3.up); VD: public Transform target; void Update() { transform.LookAt(target); } + fieldOfView: Điều chỉnh tầm nhìn Camera, để thực điều chỉnh, sử dụng dòng lệnh sau: Camera.main.fieldOfView = ; VD: Camera.main.fieldOfView = ; + LookRotation: Dùng để xoay góc nhìn camera tới góc nhìn khác theo vòng quay tính toán VD: public Transform target; void Update() { //xác định hướng cần xoay tới Vector3 relativePos = target.position - transform.position; // sử dụng hàm LookRotation để đưa vòng cần quay Quaternion rotation = Quaternion.LookRotation(relativePos); // di chuyển camera theo vòng quay tính transform.rotation = rotation; } + Slerp: di chuyển góc nhìn từ “From” tới “to” với vận tốc đưa public static Quaternion Slerp(Quaternion from, Quaternion to, float t); VD: public Transform from; public Transform to; public float speed = 0.1F; void Update() { transform.rotation = Quaternion.Slerp(from.rotation, to.rotation, Time.time * speed); } Chương trình trình bày: Đưa đối tượng vào unity, thực gắn map, lập trình đối tượng chuyển động di chuyển camera: Sử dụng chạm hình TouchCount GetTouch(0).phase TouchPhase + Began: Ngón tay chạm vào hình + Moved: Di chuyển ngón tay hình + Stationary: Ngón tay chạm vào hình không thực di chuyển + Ended: Ngón tay rời khỏi hình, chạm kết thúc + Canceled: Hệ thống thoát chế độ chạm VD 1: for (var i = 0; i < Input.touchCount; ++i) { if (Input.GetTouch(i).phase == TouchPhase.Began) } VD 2: int nbTouches = Input.touchCount; if(nbTouches > 0) { for (int i = 0; i < nbTouches; i++) { Touch touch = Input.GetTouch(i); TouchPhase phase = touch.phase; switch(phase) { case TouchPhase.Began: print("New touch detected at position " + touch.position + " , index " + touch.fingerId); break; case TouchPhase.Moved: print("Touch index " + touch.fingerId + " has moved by " + touch.deltaPosition); break; case TouchPhase.Stationary: print("Touch index " + touch.fingerId + " is stationary at position " + touch.position); break; case TouchPhase.Ended: print("Touch index " + touch.fingerId + " ended at position " + touch.position); break; case TouchPhase.Canceled: print("Touch index " + touch.fingerId + " cancelled"); break; } } } Tính tốc độ chạm Sử dụng detatime để tính toán di chuyển tốc độ ngón tay float touchSpeed = touch.deltaPosition.magnitude / touch.deltaTime; Lấy vị trí hình Vector3 position = Camera.main.ScreenToWorldPoint(touch.position); tapCount if (Input.touchCount > 0) { Debug.Log("ONE TAP"); if(Input.GetTouch(0).tapCount == 2) Debug.Log("DOUBLE TAP"); } Input.acceleration Sử dụng để lắc hình theo chiều định (Chiều x, y) tương tự sử dụng Horizontal vertical unity thay cho chiều x, y dùng acceleration Các sử dụng: VD 1: int tiltDirection = Input.acceleration.x > ? : -1; thisTranfrom.position = new Vector3( Mathf.Clamp(thisPosition.x,2.4f,2.4f),thisPosition.y,thisPosition.z); với Input.acceleration.x bạn lắc hình theo chiều ngang, Input.acceleration.y dùng để lắc hình theo chiều dọc Sử dụng kiện cho UI 6.1 Sử dụng ép trực tiếp kiện Tạo ra đối tượng Button Image nằm canvas Đưa tệp lệnh vào đối tượng Image Từ Component chọn Event Trigger Chọn Add New Event Type> PointerEnter để thực việc hover chuột, hay Chạm vào đối tượng Trong đó: PointerEnter: Kích hoạt hover lên đối tượng PointerExit: Kết thúc việc hover Thêm kiện cách clicks vào dấu (+), bỏ kiện click vào dấu (-) Kéo đối tượng Image có gắn tệp lệnh vào kiện Viết lệnh code tệp lệnh Lựa chọn No Function phần chọn phương thức ChangColor Đó phương pháp xử lý đối tượng có gắn tệp lệnh để bắt kiện, phần 6.2 bạn biết thêm phương pháp để sử dụng trực tiếp kiện mà không cần thao tác tay 6.2 Sử dụng lệnh ép trực tiếp kiện Trong phần bạn tạo Tệp EventTest gắn vào đối tượng Image Khai báo thư viện UnityEngine.EventSystem, thực ép việc kế thừa đến lớp ,IPointerEnterHandler, IPointerExitHandler Cho tệp bạn cần bắt kiện Trong phần khai báo bạn khai báo sau private AudioClip audioclip; private AudioSource audiosource; Trong phần start lấy đối tượng âm Trong button_hover_sound tên file âm nằm thư mục “Resources” void Start () { audioclip = Resources.Load("button_hover_sound"); gameObject.AddComponent(); audiosource = gameObject.GetComponent(); } Chúng ta viết kiện sau public void OnPointerEnter(PointerEventData evendata) { mouseOnCount = mouseOnCount + 1; Debug.Log(mouseOnCount); audio.PlayOneShot(audioclip); } public void OnPointerExit(PointerEventData eventdata) { Debug.Log("exitPointer"); } Lưu ý OnPointerEnter để đếm số lần hover OnPointerExit bạn phải viết chuẩn, biến mouseOnCount dùng Chạy dương trình, tệp lệnh bạn gắn vào đối tượng cần thực 6.3 Tạo Skidmark cho xe car Bước 1: Tạo biến sau public ParticleEmitter Effect_L; public ParticleEmitter Effect_R; public Transform skidmark; Với Effect_L, Effect_R hiệu ứng khói Skidmark đối tượng vạch tạo Cụ thể hình ảnh: Bước 2: Tạo phương thức BrakeSkidMark Với tham số truyền vào Status Bước 3: Trong Upadate viết Phím ngắt (Space) Bước 4: cho chạy chương trình Nguồn 3Dvietpro ... hình ảnh, hiệu ứng, texture unity Hướng dẫn làm đối tượng di chuyển nhảy unity Hôm hướng dẫn bạn học unity đơn giản viêc học unity, điều khiển trái bóng di chuyển hướng nhảy lên bàn phím Bước... theo lệnh AI trên, dừng lại di chuyển đối tượng va chạm tạo hiệu ứng va chạm Hướng dẫn làm chuyển động Oto 3D Chương trình làm ô tô 3D chuyển động ứng dụng nhiều game đua xe 3D, làm chuyển động... gian thực Tác dụng việc sử dụng timeScale gồm: pause game, sử dụng hiệu ứng di chuyển 2.8.1 Sử dụng timescale để thực pause game void PauseGame (bool val) { if (val == false) return; if (Time.timeScale

Ngày đăng: 28/10/2017, 10:02

HÌNH ẢNH LIÊN QUAN

Các bạn làm quen với các trục tọa độ như hình dưới: - Tài liệu hướng dẫn làm game trên unity
c bạn làm quen với các trục tọa độ như hình dưới: (Trang 3)
Bạn có thể tạo ra đối tượng bằng cách nhấn vào Create, ở trên màn hình đang chỉ vào đối tượng “Cube” - Tài liệu hướng dẫn làm game trên unity
n có thể tạo ra đối tượng bằng cách nhấn vào Create, ở trên màn hình đang chỉ vào đối tượng “Cube” (Trang 4)
Đó chính là thuộc tính của đối tượng unity, với hình trên trong bài này 3dvietpro chỉ cho các bạn biết về: - Tài liệu hướng dẫn làm game trên unity
ch ính là thuộc tính của đối tượng unity, với hình trên trong bài này 3dvietpro chỉ cho các bạn biết về: (Trang 4)
Dùng để chứa các file lập trình, âm thanh, hình ảnh, hiệu ứng, texture trong unity. - Tài liệu hướng dẫn làm game trên unity
ng để chứa các file lập trình, âm thanh, hình ảnh, hiệu ứng, texture trong unity (Trang 5)
Hình 2.3.2. Vị trí từ điểm cha tới điểm con - Tài liệu hướng dẫn làm game trên unity
Hình 2.3.2. Vị trí từ điểm cha tới điểm con (Trang 17)
Ví dụ trong đối tượng “Camera” ở hình 2.3.2 thì: - Tài liệu hướng dẫn làm game trên unity
d ụ trong đối tượng “Camera” ở hình 2.3.2 thì: (Trang 18)
Hình 2.9.1. Tạo điểm định vị cho đối tượng chuyển động - Tài liệu hướng dẫn làm game trên unity
Hình 2.9.1. Tạo điểm định vị cho đối tượng chuyển động (Trang 24)
Hình 2.9.3. Ép điểm cha chứa các điểm đánh dấu vào tệp lệnh - Tài liệu hướng dẫn làm game trên unity
Hình 2.9.3. Ép điểm cha chứa các điểm đánh dấu vào tệp lệnh (Trang 25)
Hình 4.1.1. Giao diện chương trình đua xe ô tô được import từ Asset Unity - Tài liệu hướng dẫn làm game trên unity
Hình 4.1.1. Giao diện chương trình đua xe ô tô được import từ Asset Unity (Trang 27)
Nếu phần “Material” trong hình trên không có, thì các bạn tìm trong thư mục Materials vừa Import để phù hợp. - Tài liệu hướng dẫn làm game trên unity
u phần “Material” trong hình trên không có, thì các bạn tìm trong thư mục Materials vừa Import để phù hợp (Trang 28)
Hình 4.1.2. Thành phần của ô tô được gắn map - Tài liệu hướng dẫn làm game trên unity
Hình 4.1.2. Thành phần của ô tô được gắn map (Trang 28)
Hình 4.1.4. Tách bánh xe - Tài liệu hướng dẫn làm game trên unity
Hình 4.1.4. Tách bánh xe (Trang 29)
Bước 5: Đặt tên cho đối tượng Game Object trong Bước 4, như hình 4.1.3. Chúng ta đặt là WheelFL_col - Tài liệu hướng dẫn làm game trên unity
c 5: Đặt tên cho đối tượng Game Object trong Bước 4, như hình 4.1.3. Chúng ta đặt là WheelFL_col (Trang 29)
Hình 4.1.7. Hình sau khi được lựa chọn xong, vạch màu xanh chính là WheelCollider - Tài liệu hướng dẫn làm game trên unity
Hình 4.1.7. Hình sau khi được lựa chọn xong, vạch màu xanh chính là WheelCollider (Trang 30)
Hình 4.1.8. Kéo các đối tượng vào các biến của xe 3D - Tài liệu hướng dẫn làm game trên unity
Hình 4.1.8. Kéo các đối tượng vào các biến của xe 3D (Trang 32)
5. Sử dụng chạm màn hình - Tài liệu hướng dẫn làm game trên unity
5. Sử dụng chạm màn hình (Trang 35)

TỪ KHÓA LIÊN QUAN

w