• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak zmieniać ustawienia komponentu Light obiektu Direction Light za pomocą scriptu C# innego obiektu w Unity?

Object Storage Arubacloud
0 głosów
167 wizyt
pytanie zadane 18 maja 2020 w C# przez Antoni2 Nowicjusz (160 p.)
Mam pytanie związane z tym jak za pomocą scriptu C# jednego obiektu Unity zmienić typ światła z Dirrection na Point w komponencie Light obiektu Dirrection Light. Ponieważ w internecie przeważnie są opisane metody jak poprzez script uzyskiwać dostęp do komponentów, które są dołączone jak i sam script do tego samego obiektu. W książce z której ucze się nie ma podanych jasnych informacji jak to zrobić. Jedynie kombinuję z takim kodem. Ogromne dzięki za jakąkolwiek pomoc w tym.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using UnityEngine;

public class ControlLight : MonoBehaviour
{
    public GameObject direction_Light;
    // Use this for initialization
    void Start ()
    {

        direction_Light = GameObject.Find("light");
        direction_Light.GetComponent<Light>(type) = point;
        
    }
    
    // Update is called once per frame
    void Update ()
    {

    }
}
komentarz 18 maja 2020 przez MsMaciek123 Pasjonat (24,760 p.)

1. Kod w bloczek

2. Rozumiem, przerabiasz materiał z książki, ale zobacz co to dokumentacja.
https://docs.unity3d.com/ScriptReference/Light-type.html
Tutaj masz informację, że jest to zmienna, która przechowuje LightType. Z kolei LightType (https://docs.unity3d.com/ScriptReference/LightType.html) to enumerator, czyli możesz napisać:
 

LightType.Spot
LightType.Directional
LightType.Point
LightType.Rectangle
LightType.Disc

Z tego wynika, że:
component.type = LightType.Point (.Point ponieważ chcesz taki typ)

a komponent już pobrałeś przy użyciu funkcji GetComponent.

Ta linijka:
 

direction_Light.GetComponent<Light>()

Mówi: Weż obiekt direction_Light i pobierz z niego komponent Light. Następnie musisz powiedzieć, że chcesz ustawić zmienną type z tego komponentu, więc używasz kropki aby uzyskać tą zmienną i od razu przypisujesz jej daną wartość:
 

komponentLight.type = LightType.Point

 

1 odpowiedź

0 głosów
odpowiedź 18 maja 2020 przez JakSky Stary wyjadacz (14,770 p.)
lightdirection_Light.GetComponent<Light>().type = LightType.Point;

Pisałem z pamięci, więc jak coś nie działa daj znać.

komentarz 18 maja 2020 przez Antoni2 Nowicjusz (160 p.)
Mam prośbę jak byś mógł przykładowo napisać jak powinien wygląć script. Ponieważ albo ten kod coś nie działa albo ja coś nie dołączyłem

Podobne pytania

0 głosów
0 odpowiedzi 384 wizyt
pytanie zadane 19 marca 2018 w C# przez ArekPogromca Szparek Początkujący (440 p.)
0 głosów
1 odpowiedź 979 wizyt
pytanie zadane 26 lutego 2020 w C# przez Sic Dyskutant (8,510 p.)
0 głosów
1 odpowiedź 853 wizyt
pytanie zadane 23 kwietnia 2019 w C# przez Pytam_PL Użytkownik (520 p.)

92,583 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...