gohud

พรีเซ็ตของคุณเอง — ไฟล์เดียวจบ

← ธีม

เมื่อก่อนการเพิ่มธีมหนึ่งธีมหมายถึงต้องแก้ด้วยมือถึงสี่ที่ — จานสีของตัวสร้าง รูปทรง สกิน และรีซอร์สพรีเซ็ต ตอนนี้คำสั่งเดียวจัดการให้ครบทุกที่

python3 addons/gohud/tools/new_theme.py neon --from scifi_dark --title "Neon"
python3 addons/gohud/tools/make_theme.py neon      # ไฟล์ธีม .tres + ภาพของคอนโทรล
godot --headless --path . --import                  # อิมพอร์ตภาพใหม่หนึ่งครั้ง
GoUi.use_preset(&"neon")                             # เสร็จแล้ว — และมันโผล่ในตัวเลือกด้วย

บรรทัดแรกเขียนไฟล์ themes/palettes/neon.json และ themes/presets/neon.tres ตัว JSON บรรจุทุกค่าของธีมที่มันสืบทอดมาไว้อย่างละเอียดครบถ้วน มันจึงทำหน้าที่เป็นรายการของ สิ่งที่คุณเปลี่ยนได้ไปในตัว: ลบคีย์ทิ้งเพื่อคงค่าของธีมแม่ หรือเขียนคีย์ลงไปเพื่อเขียนทับ พรีเซ็ตถูกค้นหา ด้วยการสแกนโฟลเดอร์ themes/presets/ จึงไม่ต้องแก้โค้ดทะเบียนใด ๆ — และดรอปดาวน์ ในการตั้งค่าโปรเจกต์ก็มองเห็นมันเช่นกัน

อะไรเปลี่ยนได้บ้าง — รวมไว้ในหน้าเดียว

ที่ไหนอะไรอย่างไร
fromธีมแม่dark · light · scifi_dark · medieval_dark · … หรือธีม JSON อื่น คีย์ที่ละไว้จะสืบทอดค่าของมัน ส่วนการสืบทอดที่วนเป็นวงจะล้มเหลว
paletteพื้นหลัง · พื้นผิวสามชั้น · เส้นขอบ · ตัวอักษรสามโทน · สีเน้น · สีสถานะสี่สี · สคริม · เงา · รางของแถบ"#RRGGBB" ส่วนค่าอัลฟาเขียนเป็น "#RRGGBB@0.35"
สีสดที่ใช้เติมอย่างเดียว *_vividทำให้แถบยังคงสีสดแม้สีตัวอักษรจะต้องเข้มลง ถ้าลืมใส่ตัวใดตัวสร้างจะบอกให้รู้
ความอ่านง่ายไม่ต้องจูนด้วยมือ ตัวอักษร เส้นขอบ สีเน้น และป้ายข้อความที่อยู่บนมัน ถูกตัวสร้างดันค่าจนผ่านเกณฑ์ — เปลี่ยนแค่สีเน้น การตรวจก็ยังผ่านอยู่ดี
shapekindflat (มุมมน) · cut (มุมตัดเฉียง) · medieval (กรอบตีขึ้นรูป)
ขนาดต่าง ๆradius · radius_small · radius_large · gap · gap_small · gap_large · padding · button_height · button_padding[4] — โทเคนจะตามไปด้วย พาเนลกับการคำนวณของวิดเจ็ตจึงไม่มีทางขัดกัน
เฉพาะ cutcut_ratio · cut_max · corners (diagonal|all) · glow · edge
เฉพาะ medievalmaterial (0 เหล็ก · 1 หนัง · 2 กระดาษหนัง) · grain_alpha · ornament_scale · bevel_strength · fontstitle, subtitle, caption, body, button ที่จับคู่กับไฟล์ฟอนต์ res:// ภายในแอดออน
skinbase — ตระกูลของที่ที่โค้ดวาดเอง (จอยสติ๊ก สล็อต แบดจ์ วงแหวนโค้ชมาร์ก ชิป เส้นคั่น)default · scifi · medieval
dialsตัวเลขของที่เหล่านั้น: ความหนาและสีอ่อนของขอบสล็อต ระยะขอบในของแบดจ์ ความทึบของชิปและกล่องแจ้งเตือน ความหนาและความทึบของวงแหวนจอยสติ๊ก ขนาดมุมตัดเฉียงแบบไซไฟ แสงเรือง และวงเล็บทุกค่าของธีมแม่ถูกเขียนไว้ครบใน JSON ตัวสร้างจะเขียนมันลงใน themes/skins/gohud_skin_<id>.tresโดยไม่แตะโค้ดสกินเลย จะรัน --new-skin ซึ่งวางโครงซับคลาส GoSkin ให้ ก็ต่อเมื่อคุณต้องการเปลี่ยนตัวภาพวาดเองเท่านั้น
iconsชุดไอคอนพาธแบบ res:// ที่ชี้ไปยังรีซอร์ส GoIconSet — ถ้าละไว้จะรับมาจากธีม JSON แม่
dark · titleตัวเลือกจะแสดงมันอย่างไรบูลีน · สตริง

ค่าปรับทุกตัว

ตารางด้านล่างถูกเติมโดย tools/make_site.py ตรงจากบรรทัด @export ของสคริปต์สกิน — เพิ่มค่าปรับหรือแก้ค่าเริ่มต้นแล้วตารางตามไปเอง ใช้ชื่อเหล่านี้ใต้ skin.dials ใน JSON ค่าปรับที่ค่าเริ่มต้นเขียนว่า 14 เป็นจำนวนเต็ม ส่วนที่เขียนว่า 10.0 เป็นทศนิยม — เขียนแบบไหนลงใน JSON ก็ได้ ตัวสร้างจะแปลงให้ตรงกับชนิดในสคริปต์เอง

สกินค่าเริ่มต้น GoSkin — 17

ค่าปรับค่าเริ่มต้นกำหนดอะไร
chip_fill_alpha0.16ความทึบของสีเติมในพาเนลของชิป
chip_edge_alpha0.45ความทึบของขอบพาเนลของชิป
alert_tint0.1พาเนลของกล่องแจ้งเตือนถูกย้อมเข้าหาสีสถานะของมันมากแค่ไหน
slot_tint_lit0.24ระดับการย้อมสีเน้นบนพาเนลของควิกสล็อตขณะที่คูลดาวน์กำลังเดิน
slot_tint_idle0.08ระดับการย้อมสีเน้นบนพาเนลของควิกสล็อตในสภาวะปกติ
slot_border_lit2ความหนาของขอบควิกสล็อต (dp) ขณะที่คูลดาวน์กำลังเดิน
slot_border_idle1ความหนาของขอบควิกสล็อต (dp) ในสภาวะปกติ
badge_pad_x5ระยะขอบในแนวนอน (dp) ของแบดจ์ (จำนวน เวลาที่เหลือ)
badge_pad_y1ระยะขอบในแนวตั้ง (dp) ของแบดจ์
badge_edge_alpha0.6ความทึบของขอบพาเนลของแบดจ์
float_shadow_alpha0.45ความทึบของเงาใต้การ์ดที่ลอยอยู่ (โค้ชมาร์ก พรอมต์การ์ด)
float_shadow_size14ความฟุ้งของเงา (dp) ใต้การ์ดที่ลอยอยู่
float_shadow_lift4ระยะที่เงาของการ์ดลอยเยื้องลงล่าง (dp)
float_glow_size10.0ระยะแสงเรือง (dp) ของพาเนลลอยที่ใช้แสงเรืองแทนเงา เช่นพาเนลมุมตัดเฉียงแบบไซไฟ
joystick_base_alpha0.42ความทึบของแผ่นวงกลมฐานของจอยสติ๊ก
joystick_ring_alpha0.45ความทึบของวงแหวนจอยสติ๊ก
joystick_ring_width2.0ความหนา (dp) ของวงแหวนจอยสติ๊ก

สกินไซไฟ GoSkinSciFi — 10

ค่าปรับค่าเริ่มต้นกำหนดอะไร
cut_chip7.0ขนาดมุมตัดเฉียง (dp) ของพาเนลของชิป
cut_skeleton5.0ขนาดมุมตัดเฉียง (dp) ของพาเนลสเกเลตัน
cut_alert8.0ขนาดมุมตัดเฉียง (dp) ของกล่องแจ้งเตือน
cut_segment8.0ขนาดมุมตัดเฉียง (dp) ของคอนโทรลแบบแบ่งช่อง
cut_slot6.0ขนาดมุมตัดเฉียง (dp) ของพาเนลควิกสล็อต
cut_disc_ratio0.24มุมตัดเฉียงของอวาตาร์และแผ่นวงกลม = เส้นผ่านศูนย์กลาง × อัตราส่วนนี้
slot_glow_alpha0.45ความทึบของแสงเรืองบนสล็อตที่คูลดาวน์กำลังเดิน
slot_glow_size6.0ระยะแสงเรือง (dp) ของสล็อตที่คูลดาวน์กำลังเดิน
bracket_arm12.0ความยาวแขน (dp) ของวงเล็บเล็งเป้าของโค้ชมาร์ก
bracket_thickness2.0ความหนาของเส้น (dp) ของวงเล็บเล็งเป้าของโค้ชมาร์ก

สกินยุคกลาง GoSkinMedieval — 5

ค่าปรับค่าเริ่มต้นกำหนดอะไร
slot_radius4.0รัศมีมุม (dp) ของกรอบควิกสล็อตแบบยุคกลาง
leather_grain_alpha0.035ความทึบของรอยหนังจาง ๆ ภายในควิกสล็อต
ornament_scale1.0สเกลของลวดลายโลหะที่มุมของควิกสล็อต ส่วนกรอบเมนูใช้ shape.ornament_scale
bevel_strength0.18ความเข้มของแสงไฮไลต์โลหะตามขอบควิกสล็อต
slot_rivets1แสดงหมุดย้ำโลหะเล็ก ๆ บนควิกสล็อต: 0 คือซ่อน 1 คือแสดง

สืบทอดสกิน (ไม่บังคับ)

สิ่งที่ธีมและรูปทรงเอื้อมไม่ถึงเท่านั้น — หกเหลี่ยมของจอยสติ๊ก แบดจ์บนสล็อต วงเล็บเล็งเป้าของ โค้ชมาร์ก — ที่อยู่ในสกิน สืบทอด GoSkin เขียนทับเฉพาะเมธอดเหล่านั้น แล้วชี้ช่อง skin ใน JSON ไปที่รีซอร์สนั้น ธีมที่เปลี่ยนแค่สีข้ามขั้นตอนนี้ไปได้เลย

มีการตรวจสอบคอยรักษาคำมั่นนี้ไว้ tools/check_scaffold.sh สร้างธีมใช้แล้วทิ้ง ขึ้นมาทุกครั้งที่รัน — เปลี่ยนสีเน้น ตั้งรัศมีเป็น 4 — แล้วตรวจการสร้าง การกระจายของโทเคน และการวัด คอนทราสต์ให้ผ่านหมดก่อนจะลบมันทิ้ง การรันครั้งแรกพบว่าธีมที่เปลี่ยนแค่สีเน้นอย่างเดียวตกไปถึง 8 คู่สี: ตัวสร้างดันสีตัวอักษรให้ แต่ใช้สีเน้นตามที่เขียนมาดื้อ ๆ ตอนนี้มันดันทั้งสีเน้นและ ป้ายข้อความที่อยู่บนมันด้วย