コード例 #1
0
ファイル: LightAni.cs プロジェクト: mengtest/FrameWork
 void Show(Light l, CB_WorkerBase w, LightAniParams p)
 {
     if (p.activeTime < 0)
     {
         p.activeTime = Time.time;
     }
 }
コード例 #2
0
ファイル: LightAni.cs プロジェクト: mengtest/FrameWork
 void Init(Light l, CB_WorkerBase w, LightAniParams p)
 {
     p.startIntensity           = l.intensity;
     p.startIntensityCB         = w.matParams [0].internsity;
     l.intensity                = 0;
     w.matParams [0].internsity = 0;
 }
コード例 #3
0
    void AddWorkerBuff(CB_WorkerBase worker)
    {
        var stage = worker.stage;

        if (!bufDic.ContainsKey(stage))
        {
            bufDic.Add(stage, new CommandBuffer());
            cam.AddCommandBuffer(stage, bufDic[stage]);
        }
    }
コード例 #4
0
ファイル: CB_Manager.cs プロジェクト: mengtest/FrameWork
 public void RemoveWorker(CB_WorkerBase worker)
 {
     if (worker == null)
     {
         return;
     }
     if (worker.cameraIndex < cams.Count)
     {
         cams [worker.cameraIndex].RemoveWorker(worker);
     }
 }
コード例 #5
0
 public void RemoveWorker(CB_WorkerBase worker)
 {
     if (worker == null)
     {
         return;
     }
     if (workers.Contains(worker))
     {
         workers.Remove(worker);
     }
 }
コード例 #6
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        worker = (CB_WorkerBase)target;
        GUILayout.Space(50);
        GUILayout.Label("[材质参数]");

        for (int i = 0; i < worker.mats.Count; i++)
        {
            ShowParams("Mats " + i, worker.matParams [i], worker.mats [i], worker);
        }
    }
コード例 #7
0
    public void AddWorker(CB_WorkerBase worker)
    {
        if (worker == null)
        {
            return;
        }
        worker.SetCamManager(this);
        if (!workers.Contains(worker))
        {
            workers.Add(worker);
        }

        AddWorkerBuff(worker);
    }
コード例 #8
0
ファイル: LightAni.cs プロジェクト: mengtest/FrameWork
    void UpdateIntensity(Light l, CB_WorkerBase w, LightAniParams p)
    {
        float intensityMod = 0;

        if (Time.time - p.activeTime < durationAppear)
        {
            intensityMod = curveAppear.Evaluate((Time.time - p.activeTime) / durationAppear);
            SetLightsIntensity(l, w, p, intensityMod, 1, 1);
        }
        else
        {
            float t = Time.time - p.activeTime;
            intensityMod = curve.Evaluate(t * 1 / duration);
            SetLightsIntensity(l, w, p, intensityMod, amplitude, amplitudeWorker);
        }
    }
コード例 #9
0
ファイル: LightAni.cs プロジェクト: mengtest/FrameWork
 void SetLightsIntensity(Light l, CB_WorkerBase w, LightAniParams p, float intensityMod, float amplitude, float amplitudeWorker)
 {
     l.intensity = p.startIntensity * Mathf.Lerp(1, intensityMod, amplitude);
     w.matParams[0].internsity = p.startIntensityCB * Mathf.Lerp(1, intensityMod, amplitudeWorker);
     w.MatSyncAll();
 }