‫Xin chào và chào mừng.
‫Trong bài giảng này, chúng tôi sẽ thiết lập bộ gắp để chúng tôi thực sự có thể nắm giữ
‫bức tượng gargoyle của mình và mang nó đi xung quanh trước mặt chúng tôi.
‫Hãy đi sâu vào và xem chúng tôi làm điều này như thế nào.
‫Vì vậy, đã đến lúc chúng ta bắt đầu gọi thành phần lấy này tại vị trí có vòng quay.
‫Bây giờ, như tôi đã nói trước đây, thực sự có hai phần cho điều này.
‫Chúng ta cần lấy thành phần và sau đó, chúng ta cần thiết lập vị trí mục tiêu và vòng quay của nó để
‫nó di chuyển xung quanh.
‫Vì vậy, điều đầu tiên đầu tiên trong chức năng lấy của chúng ta, chúng ta sẽ cần nắm giữ một con trỏ đến tay cầm vật lý
‫của chúng ta.
‫Vì vậy, tôi sẽ sao chép dòng từ Begin Play và tôi sẽ chuyển sang phần grabber và tôi sẽ đưa
‫nó vào đây.
‫Và để bảo vệ chúng ta khỏi điều này là vô hiệu.
‫Chà, điều gì sẽ xảy ra?
‫Thật ra, chúng tôi không muốn làm gì cả.
‫Nếu chúng ta không có tay cầm vật lý, chúng ta không thể lấy bất cứ thứ gì.
‫Vì vậy, chúng ta có thể đặt toàn bộ nội dung của hàm lấy này vào một câu lệnh if, nhưng điều đó có thể trông hơi
‫lộn xộn.
‫Vì vậy, những gì chúng tôi có thể làm thay vào đó là những gì được gọi là trở lại sớm.
‫Về cơ bản, chúng tôi chỉ nói nếu vật lý xử lý.
‫Equals bằng con trỏ null.
‫Bạn phải đặt một dấu bằng kép ở đây.
‫Nếu không thì đó là một nhiệm vụ.
‫Sau đó, chúng tôi có thể đi xuống để làm một số niềng răng và chúng tôi có thể đặt một trở lại ở đây.
‫Vì vậy, điều này sẽ làm là nếu chúng ta có một điểm null cho chốt vật lý, nó sẽ trả về
‫ngay lập tức và không thực thi phần còn lại của hàm, do đó làm cho phần còn lại của hàm
‫sử dụng vật lý an toàn. xử lý như chúng tôi muốn.
‫Vì vậy, chúng tôi sẽ làm điều đó.
‫Chúng tôi sẽ đi xuống nơi chúng tôi có một hit.
‫Tôi nghĩ rằng chúng ta không cần những thông báo nhật ký này nữa.
‫Vì vậy, tôi sẽ xóa câu lệnh alt.
‫Về cơ bản, tôi sẽ xóa mọi thứ khỏi phần nội dung của câu lệnh if và chúng tôi sẽ sử dụng grabber
‫của mình.
‫Vì vậy, chúng ta sẽ thực hiện vật lý xử lý thành phần lấy mũi tên tại vị trí có chuyển động quay.
‫Sau đó, chúng tôi phải cung cấp cho nó một thành phần mà chúng tôi đang cố gắng lấy.
‫Nếu bạn có một cái nhìn, thứ mà nó mong đợi là một thành phần nguyên thủy của bạn.
‫Hãy xem liệu chúng ta có bất kỳ loại nào tương tự trong kết quả lần truy cập của chúng ta hay không.
‫Tôi sẽ chuyển đến trang tài liệu về nó và tìm kiếm thành phần nguyên thủy của bạn và bạn có thể
‫thấy rằng thành phần get sẽ trả về thành phần nguyên thủy đã được đánh giá là hoàn hảo.
‫Đó chỉ là những gì chúng ta cần.
‫Vì vậy, chúng tôi sẽ tìm kiếm thành phần nhận được kết quả lần truy cập và điều đó sẽ cung cấp cho chúng tôi những
‫gì chúng tôi muốn cho đối số đầu tiên.
‫Bây giờ tiếp theo là tên F cho một cái xương.
‫Bây giờ chúng tôi thực sự không muốn lấy bất cứ thứ gì bằng một chiếc xương cụ thể.
‫Đây sẽ là trường hợp nếu chúng ta có lưới xương, nhưng chúng ta không.
‫Chúng tôi có một lưới tĩnh, vì vậy chúng tôi chỉ sử dụng tên, không gạch dưới.
‫Và nói chung, với những cái tên F mà chúng ta đang nói về xương, điều này xuất hiện khá nhiều.
‫Nếu bạn không muốn thêm bất cứ điều gì vào, bạn sử dụng tên, không gạch dưới.
‫Bây giờ chúng ta cần vị trí mà chúng ta sẽ lấy nó.
‫Và chúng tôi đã nói rằng chúng tôi đã xem xét điều này.
‫Đó là điểm tác động của chấm kết quả lần truy cập và sau đó là xoay, tốt, xoay hiện tại của thành phần đó sẽ thực hiện hoặc
‫xoay hiện tại của diễn viên, tùy theo cách bạn muốn.
‫Vì vậy, kết quả lượt truy cập nhận được các thành phần.
‫Chúng tôi sẽ lấy kết quả đạt được nhận được mũi tên chấm thành phần bởi vì nó là một con trỏ để có được xoay
‫thành phần như thế nào.
‫Vì vậy, bây giờ chúng ta có thể đặt các dấu ngoặc đóng trên một dòng riêng biệt và tôi sẽ đặt dấu chấm phẩy ở đó để kết
‫thúc câu lệnh và điều đó sẽ có hiệu quả trong việc lấy các thành phần của chúng ta.
‫Bây giờ phần tiếp theo của câu đố nằm trong thành phần đánh dấu nơi chúng ta muốn sử dụng lại tay cầm vật lý.
‫Vì vậy, tôi sẽ sao chép mã ngay bây giờ, biết rằng sao chép mã đến ba nơi là hơi quá nhiều và
‫chúng tôi có thể muốn nghĩ đến việc kéo nó ra thành một hàm để chúng tôi sử dụng lại.
‫Nhưng thành phần hấp thụ, chúng ta sẽ sử dụng tay cầm vật lý, chúng ta sẽ quay trở lại sớm nếu chúng ta không
‫thể nắm được tay cầm vật lý.
‫Và sau đó những gì chúng tôi sẽ làm là chúng tôi sẽ thử và thiết lập vị trí mục tiêu đó.
‫Vì vậy, chúng ta sẽ làm vật lý, xử lý vị trí đặt mục tiêu và xoay mũi tên.
‫Và hãy suy nghĩ một chút về điều này.
‫Loại vị trí mục tiêu nào chúng ta có thể quan tâm đến việc thiết lập?
‫Về cơ bản, nó sẽ giống như chúng ta đã làm với điểm cuối.
‫Chúng ta sẽ lấy vị trí hiện tại của mình, sau đó di chuyển nó ra ngoài theo hướng phía trước một khoảng
‫nhất định.
‫Bây giờ, điều này sẽ có thể định cấu hình.
‫Bạn có thể sử dụng khoảng cách lấy tối đa, nhưng tôi thấy rằng trong thực tế, cảm giác đó quá xa.
‫Vì vậy, nếu chúng ta bắt đầu lấy chữ H, chúng ta sẽ tạo một thuộc tính sử dụng mới có tên là Edit
‫Anywhere và nó sẽ trở thành một phao được gọi là khoảng cách giữ.
‫Và tôi sẽ đặt giá trị này là 200.
‫Vì vậy, nó sẽ gần gũi hơn với người chơi.
‫Bây giờ, nếu chúng ta đi vào nắm bắt CP, chúng ta có thể đi vào chức năng đánh dấu của mình và thử tạo vị trí mục
‫tiêu này.
‫Vì vậy, nó sẽ là một vectơ F được gọi là vị trí mục tiêu.
‫Chúng tôi sẽ đặt giá trị đó bằng vị trí thành phần get, cộng với vectơ nhận được nhân
‫với khoảng cách giữ.
‫Vì vậy, sau đó chúng tôi có thể sử dụng đó làm vị trí mục tiêu.
‫Đó sẽ là đối số đầu tiên của chúng tôi và sau đó chúng tôi cần xoay mục tiêu.
‫Vâng, về điều đó, tôi chỉ sử dụng cách xoay của thành phần hiện tại để khi chúng ta nhìn
‫xung quanh, chúng ta sẽ xoay đối tượng với chế độ xem của chúng ta để chúng ta có thể thực hiện xoay lấy thành
‫phần để có được xoay thành phần cảnh grabber hiện tại.
‫Bây giờ chúng ta hãy đặt một dấu chấm phẩy ở cuối dòng đó và biên dịch lại và xem cách này hoạt động như thế nào.
‫Bây giờ, sau khi chúng tôi đã biên dịch thành công, hãy chọn gargoyle và chỉ cần đảm bảo rằng chúng tôi thay đổi tính di
‫động của nó từ START.
‫Bám sát vào khả năng di chuyển bởi vì chúng ta cần nó để có thể di chuyển theo phản ứng vật lý và hãy đảm bảo rằng
‫nó mô phỏng vật lý.
‫Chúng ta hãy đi đến danh mục vật lý và kiểm tra nút vật lý mô phỏng.
‫Hãy chơi và thử và nhận nó.
‫Vì vậy, tôi nghĩ nó đang xảy ra vào lúc này, nhưng nó dường như bị mắc kẹt bên trong sàn, vì vậy điều đó
‫không lý tưởng.
‫Hãy thử và nâng nó lên một chút để nó không bị kẹt bên trong sàn nhà.
‫Hãy để nó rơi xuống sàn như vậy, và bây giờ hãy thử và nhặt nó lên.
‫Bây giờ có vẻ như nó đã bị mắc kẹt bên trong sàn một lần nữa, vì vậy chúng ta hãy thử lại lần thứ hai.
‫Được chứ.
‫Vì vậy, nó có một chút không đáng tin cậy và đôi khi nếu bạn nắm bắt được nó ngay lập tức, nó sẽ nhặt
‫được một bộ giáp tốt và bạn có thể nhặt nó như vậy.
‫Tôi nhận thấy vòng quay không chính xác, và điều này là do tôi đã sử dụng sai cách trong việc lấy thành phần
‫vật lý.
‫Tôi đã nhận được vòng quay của gargoyle, và bây giờ chúng tôi đang cố gắng giữ vòng quay đó.
‫Những gì tôi thực sự cần để sử dụng là vòng quay mà chúng tôi đang sử dụng để chọn vòng quay của gắp.
‫Vì vậy, chúng ta hãy tiếp tục và thay đổi điều đó và biên dịch lại và chúng ta sẽ chỉ nhấn phát lại và thử và lấy nó.
‫Của bạn đây.
‫Lần này tôi nắm lấy nó và tôi đã có được vòng quay chính xác, vòng quay chính xác mà nó có.
‫Và bạn có thể thấy rằng nó trông giống như đang được kẹp vào một cái lò xo.
‫Nếu tôi cố gắng và đẩy nó qua một bức tường, nó sẽ cố gắng không đi xuyên qua tường nhiều nhất có thể.
‫Cuối cùng nó cũng xuyên qua bức tường, nhưng nó đang cố gắng quan sát vật lý khi tôi di chuyển nó xung quanh.
‫Vì vậy, tôi muốn thách thức bạn bây giờ để rút ra một chức năng mới được gọi là nhận được tay cầm vật lý.
‫Nó sẽ ở chế độ riêng tư.
‫Nó sẽ trả về một chữ U.
‫Thành phần xử lý vật lý và nó sẽ xóa mã trùng lặp này vì cần lấy chủ sở
‫hữu và tìm thành phần theo lớp.
‫Bạn cũng có thể làm cho nó có khả năng const để xem nếu bạn có thể và làm cho nó ghi nhật ký.
‫Nếu chúng tôi không có thành phần xử lý vật lý, hãy cung cấp nhật ký cảnh báo để nó hiển thị và chúng tôi biết rằng chúng tôi
‫đã làm sai điều gì đó.
‫Tạm dừng video và tiếp tục.
‫Được chứ.
‫Chào mừng trở lại.
‫Trước hết, chúng ta đi đến phần đầu của tệp, nơi chúng ta sẽ đặt điều này
‫trong phần riêng tư, nhưng bên dưới thuộc tính Q, tôi sẽ để nó trả về một thành phần xử lý vật lý U và đặt một dấu hoa thị ở
‫đây.
‫Bây giờ, bởi vì chúng tôi đang sử dụng kiểu này ở đây trong tiêu đề, chúng tôi cần thực sự lấy bao gồm của mình và cắt nó
‫ra khỏi trình lấy.
‫Vì vậy, chúng bao gồm liên quan đến tay cầm vật lý, chúng ta cần phải đặt nó trong grabber h, nơi
‫chúng ta sẽ đặt nó phía trên được tạo.
‫H Đó là điều cuối cùng luôn có trong các tệp tiêu đề của chúng tôi.
‫Và tại sao chúng ta không cần phải có nó trong CP?
‫Vâng, bởi vì chúng tôi bao gồm cả grabber h.
‫Vì vậy, bất cứ thứ gì chúng ta đưa vào lấy một chữ H sẽ tự động ở trong C p để chúng ta có thể đưa bao gồm vào đó.
‫Bây giờ chúng ta có thể đi xuống nơi chúng ta đang định nghĩa hàm này và gọi nó là cặp dấu ngoặc đơn như thế
‫get vật lý xử lý.
‫Và tôi nghĩ rằng điều này nên là const, nó không nên thay đổi bất cứ điều gì trong grabber của chúng tôi để gọi hàm này.
‫Vì vậy, chúng ta hãy xem qua CP và đi đến phần dưới cùng nơi tôi sẽ dán định nghĩa, tôi sẽ
‫dán một dấu hai chấm chữ U, dấu hai chấm ở phía trước, và sau đó tôi xóa dấu chấm phẩy, thêm một cặp
‫của niềng răng.
‫Và những gì chúng tôi muốn làm là đưa chúng ta đến nơi mà chúng ta có điều này vượt quá giới hạn và chúng ta sẽ cắt
‫bỏ nó và thay thế nó bằng vật lý.
‫Xử lý như vậy.
‫Và sau đó trong tay cầm vật lý get, chúng ta có thể chỉ cần trả về thành phần get owner find theo lớp, v.v.
‫và bây giờ chúng tôi cũng có thể thay thế điều này ở nơi chúng tôi đang thực hiện nó trong thành phần đánh dấu, chúng tôi đang nắm
‫bắt tay cầm vật lý.
‫Hãy thay thế một đoạn mã nhỏ đó bằng get vật lý xử lý.
‫Bây giờ nó là một đoạn mã nhỏ, nó gần như không có giá trị, nhưng nó chắc chắn đáng để
‫thực hành vào thời điểm này và thực tế là chúng ta có thể thêm một số thông báo nhật ký ngay bây giờ và bắt đầu chơi.
‫Chúng tôi thực sự không cần phải có vật lý để xử lý, vì vậy tôi sẽ xóa mã đó ở đó.
‫Nhưng những gì tôi sẽ làm là tôi sẽ thêm một thông báo nhật ký.
‫Vì vậy, chúng tôi sẽ tạo một biến để lưu trữ kết quả của chúng tôi ở đây, bởi vì nếu chúng tôi quay lại và sau đó cố gắng in thông
‫báo nhật ký, điều đó sẽ không hoạt động.
‫Vì vậy, chúng ta sẽ có một thành phần xử lý vật lý mới được gọi là kết quả vì đó là những gì chúng
‫ta sẽ quay trở lại khỏi đây.
‫Và chúng tôi sẽ nói nếu kết quả bằng con trỏ null, thì chúng tôi cần bạn đăng nhập với một cảnh báo hoặc trên thực tế,
‫một lỗi thực sự.
‫Và chúng ta sẽ nói grab a yêu cầu một thành phần xử lý vật lý U và sau đó là sau câu lệnh if.
‫Vì vậy, điều này sẽ xảy ra.
‫Cho dù nó là null hay không, chúng ta sẽ trả về kết quả.
‫Vì vậy, hãy tiếp tục và biên dịch nó và kiểm tra xem tất cả hoạt động.
‫Có vẻ như đã thành công và tôi có thể thấy nó phải hoạt động vì khi tôi nhấp chuột trái vào cảnh, tôi nhận được các quả
‫cầu màu xanh lam hoặc gỡ lỗi đang được vẽ và chúng sẽ không được vẽ nếu chúng tôi không nắm được thành phần
‫tay cầm vật lý đó .
‫Công cụ tuyệt vời.
‫Vì vậy, trong bài giảng này, chúng tôi đã có thể lấy bức tượng gargoyle của mình bằng cách sử dụng công cụ lấy của chúng tôi, mặc dù đôi
‫khi nó có thể hơi không đáng tin cậy.
‫Và chúng tôi sẽ sắp xếp điều này trong các bài giảng sắp tới.
‫Vì vậy, tôi sẽ gặp bạn ở đó.