Làm cách nào để có nhiều phần chia sẻ GameObject cùng chất liệu?


9

Câu hỏi của tôi là: Có cách nào để GameObjects chia sẻ các phần của cùng một Tài liệu, không phải là bản sao, mà là phần mở rộng của một? Ví dụ, trong trường hợp này, chín đối tượng trò chơi chia sẻ cùng một vật liệu được phóng to để đáp ứng kích thước của chín đối tượng:

Cỏ

Và trong trường hợp, tôi xóa ví dụ ở giữa, nó sẽ giữ nguyên vật liệu được mở rộng với khoảng trống bên trong:

Cỏ2

Với mục đích này, tôi đã sử dụng một vật liệu cho mỗi đối tượng, nhưng ý định của tôi là chỉ sử dụng một kết cấu cho nhiều đối tượng, hoặc ví dụ, nhiều kết cấu trong một phần khác nhau của cùng một đối tượng. (Giống như nút vẽ mà chúng ta có trong Unity3D Terrains tùy chỉnh).


Câu trả lời:


2

Bạn đã xem xét việc sử dụng Shadergraph của Unity để tạo ra shader của riêng bạn cho vật liệu chưa? Bạn có thể đạt được những gì bạn muốn bằng cách sử dụng vị trí không gian thế giới cho kết cấu / uvs. Tôi không giỏi trong việc giải thích nó và không giỏi về shader nhưng tôi đã chế giễu một ví dụ nhanh cho bạn là một shader nước vì tôi đã chán và đã chơi xung quanh trong dự án của tôi dành riêng cho các thí nghiệm.

Bức ảnh này cho thấy các mặt phẳng chồng chéo xuất hiện để chia sẻ cùng một vật liệu tài liệu mẫu

Đây là ví dụ được thực hiện trong shadergraph Ví dụ về shadergraph

Tóm tắt nhanh các nút đổ bóng từ ví dụ của tôi khi tôi hiểu chúng

  1. Các nút này đang lấy các giá trị xz trong không gian thế giới và kết hợp chúng trong một vectơ 2
  2. Nút này đang sử dụng các giá trị xz và bù đắp chúng dựa trên các nút trong 3
  3. sử dụng thời gian và Vector 2, để cuộn offset uv. cho hiệu ứng sóng
  4. Nhân giá trị dựa trên giá trị ốp lát thông thường .
  5. Lấy dữ liệu UV từ 4 và bản đồ bình thường
  6. Sức mạnh bình thường. thay đổi sức mạnh của hiệu ứng
  7. Lấy tất cả dữ liệu từ 1 - 6 và kết cấu nước và nạp vào albedo trong 8
  8. tất cả các nút nạp vào đây để trình đổ bóng thay đổi cách mỗi thuộc tính này ảnh hưởng đến vật liệu.

Nếu bất cứ ai nghĩ rằng bất cứ điều gì tôi đã nói hoặc làm là không chính xác hoặc có thể được cải thiện, xin vui lòng sửa chữa cho tôi. Tôi vẫn đang học và một người thích đi đúng hướng luôn được hoan nghênh. Tôi đã tải lên cảnh ví dụ lên google drive cho bạn loay hoay với. không chắc chắn nếu quy kết là bắt buộc nhưng tài sản nước được sử dụng là miễn phí và từ gametextures.com


0

Bạn có thể tạo tập bản đồ sprite từ một kết cấu, tạo một đối tượng con cho mặt phẳng của bạn hoặc bất kỳ hình dạng nào bạn đang sử dụng, kéo vào các phần cắt sprite đã tạo, Xoay và đặt đứa trẻ trong trò chơi máy bay theo cách bạn thích và voila, nhìn vào pic bên dưới để xem ý tôi là gì

sprite atlours

Nó có thể là công việc tẻ nhạt nhưng có vẻ như giải pháp này phù hợp với những gì bạn muốn.


0

Một tùy chọn khác là sử dụng đối tượng Projector trong thư mục tài sản tiêu chuẩn thống nhất. Nó không phải là rất hiệu quả, nhưng thực sự dễ dàng để thiết lập. Vì vậy, đối với các trường hợp đơn giản, nó có thể chính xác là những gì bạn đang tìm kiếm. Nhưng như tôi đã nói, nó có tác động hiệu suất khá đáng kể, đặc biệt nếu bạn đang chiếu họa tiết lớn hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.