Saya saat ini menghadapi masalah yang sama, dan solusi saya persis seperti yang disarankan DuckMaestro dan Raven Dreamer - Memiliki skrip yang membuat 4 objek anak saat runtime yang masing-masing mewakili sisi perbatasan dan melampirkan penyaji baris ke masing-masing.
Dalam kasus saya, saya perlu mengubah ukuran perbatasan terus-menerus agar tetap di sekitar objek saya (Jaring teks [yang menggunakan renderer jala] untuk bidang teks khusus) sehingga setiap pembaruan yang saya lakukan ini:
float width = Mathf.Max(renderer.bounds.size.x + paddingX * 2, minWidth);
float x = renderer.bounds.center.x - width / 2;
float height = renderer.bounds.size.y + paddingY * 2;
float y = renderer.bounds.center.y - height / 2;
AlterBorder(0, new Vector3(x - thickness / 2, y, 0), new Vector3(x + width + thickness / 2, y, 0)); //Bottom edge going left to right
AlterBorder(1, new Vector3(x + width, y + thickness / 2, 0), new Vector3(x + width, y + height - thickness / 2, 0)); //Right edge going bottom to top
AlterBorder(2, new Vector3(x + width + thickness / 2, y + height, 0), new Vector3(x - thickness / 2, y + height, 0)); //Top edge going right to left
AlterBorder(3, new Vector3(x, y + height - thickness / 2, 0), new Vector3(x, y + thickness / 2, 0)); //Left edge going top to bottom
AlterBorder()
cukup mengakses renderer baris yang sesuai (ditentukan oleh parameter pertama) dan atur awal dan akhirnya masing-masing ke vektor pertama dan kedua.
Perhatikan bahwa saya digunakan renderer
sebagai referensi saya untuk ukuran, tetapi jelas Anda dapat menggunakan persegi panjang apa saja, selama x, y adalah sudut kiri atas.
Dari apa yang saya tahu ini bekerja dengan sangat baik, tampak hebat dalam permainan karena saya dapat dengan mudah memindahkan objek berbatasan di sekitar semua sumbu 3 (Bahkan memutarnya, dan karena penyaji garis selalu menghadap kamera itu tidak terlihat aneh), dan tidak sulit diimplementasikan.