Пример #1
0
    private void Start()
    {
        var desert = Resources.Load <Material>("Materials/Skyboxes/Desert");
        var ash    = Resources.Load <Material>("Materials/Skyboxes/Ash");

        _pair = new MaterialPair(desert, ash, 24);
    }
Пример #2
0
 public void Set(Material mat, bool record = true)
 {
     for (int i = 0; i < innerPairs.Count; i++)
     {
         Material[] ms = new Material[innerPairs[i].origMats.Length];
         if (record)
         {
             innerPairs[i] = new MaterialPair(innerPairs[i].renderer, innerPairs[i].renderer.sharedMaterials);
         }
         for (int j = ms.Length - 1; j >= 0; j--)
         {
             ms[j] = mat;
         }
         innerPairs[i].renderer.sharedMaterials = ms;
     }
     if (extraPairs != null)
     {
         for (int i = 0; i < extraPairs.Count; i++)
         {
             Material[] ms = new Material[extraPairs[i].origMats.Length];
             if (record)
             {
                 extraPairs[i] = new MaterialPair(extraPairs[i].renderer, extraPairs[i].renderer.sharedMaterials);
             }
             for (int j = ms.Length - 1; j >= 0; j--)
             {
                 ms[j] = mat;
             }
             extraPairs[i].renderer.sharedMaterials = ms;
         }
     }
 }
        public void Initialise()
        {
            LevelMaterialID           = new MaterialID(Engine.Singleton.NewtonWorld);
            CharacterMaterialID       = new MaterialID(Engine.Singleton.NewtonWorld);
            TriggerVolumeMaterialID   = new MaterialID(Engine.Singleton.NewtonWorld);
            DescribedMaterialID       = new MaterialID(Engine.Singleton.NewtonWorld);
            CharacterSensorMaterialID = new MaterialID(Engine.Singleton.NewtonWorld);
            EnemyMaterialID           = new MaterialID(Engine.Singleton.NewtonWorld);
            NoColID = new MaterialID(Engine.Singleton.NewtonWorld);


            //

            NoColLevelPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                LevelMaterialID, NoColID);
            NoColLevelPair.SetContactCallback(new IgnoreCollisionCallback());

            NoColDMPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                DescribedMaterialID, NoColID);
            NoColDMPair.SetContactCallback(new IgnoreCollisionCallback());

            NoColCharPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                CharacterMaterialID, NoColID);
            NoColCharPair.SetContactCallback(new IgnoreCollisionCallback());

            //

            SensorLevelPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                LevelMaterialID, CharacterSensorMaterialID);
            SensorLevelPair.SetContactCallback(new IgnoreCollisionCallback());

            SensorTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                TriggerVolumeMaterialID, CharacterSensorMaterialID);
            SensorTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());

            DescribedTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                DescribedMaterialID, TriggerVolumeMaterialID);
            DescribedTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());

            EnemyTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                EnemyMaterialID, TriggerVolumeMaterialID);
            EnemyTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());
        }
        public void Initialise()
        {
            LevelMaterialID = new MaterialID(Engine.Singleton.NewtonWorld);
            CharacterMaterialID = new MaterialID(Engine.Singleton.NewtonWorld);
            TriggerVolumeMaterialID = new MaterialID(Engine.Singleton.NewtonWorld);
            DescribedMaterialID = new MaterialID(Engine.Singleton.NewtonWorld);
            CharacterSensorMaterialID = new MaterialID(Engine.Singleton.NewtonWorld);
            EnemyMaterialID = new MaterialID(Engine.Singleton.NewtonWorld);
            NoColID = new MaterialID(Engine.Singleton.NewtonWorld);

            //

            NoColLevelPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                LevelMaterialID, NoColID);
            NoColLevelPair.SetContactCallback(new IgnoreCollisionCallback());

            NoColDMPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                DescribedMaterialID, NoColID);
            NoColDMPair.SetContactCallback(new IgnoreCollisionCallback());

            NoColCharPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                CharacterMaterialID, NoColID);
            NoColCharPair.SetContactCallback(new IgnoreCollisionCallback());

            //

            SensorLevelPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                LevelMaterialID, CharacterSensorMaterialID);
            SensorLevelPair.SetContactCallback(new IgnoreCollisionCallback());

            SensorTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                TriggerVolumeMaterialID, CharacterSensorMaterialID);
            SensorTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());

            DescribedTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                DescribedMaterialID, TriggerVolumeMaterialID);
            DescribedTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());

            EnemyTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                EnemyMaterialID, TriggerVolumeMaterialID);
            EnemyTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());
        }
Пример #5
0
    private void Start()
    {
        if (skyboxCycle.Length == 0)
        {
            enabled = false;
            return;
        }

        _pairs = new MaterialPair[skyboxCycle.Length];
        for (var i = 0; i < skyboxCycle.Length; i++)
        {
            _pairs[i] = new MaterialPair(
                skyboxCycle[i],
                skyboxCycle[(i + 1) % skyboxCycle.Length],
                Debug.isDebugBuild ? devBlendSteps : 25
                );
        }
    }
Пример #6
0
    void Awake()
    {
        _objectMaterials = new Dictionary <Color, MaterialPair>();

        _colorMap = Resources.Load <ColorMap>("Materials/ColorMap");
        var diffuseTemplate   = Resources.Load <Material>("Materials/Template_Diffuse");
        var highlightTemplate = Resources.Load <Material>("Materials/Template_Highlight");

        ShapeDefaultColor = _colorMap.availableColors[_colorMap.shapeDefaultIndex];
        LightDefaultColor = _colorMap.availableColors[_colorMap.lightDefaultIndex];

        foreach (Color color in _colorMap.availableColors)
        {
            var diffuse   = new Material(diffuseTemplate);
            var highlight = new Material(highlightTemplate);
            var matPair   = new MaterialPair(diffuse, highlight);
            matPair.diffuse.color   = color;
            matPair.highlight.color = color;
            _objectMaterials[color] = matPair;
        }
    }
Пример #7
0
        public void Initialise()
        {
            LevelMaterialID           = new MaterialID(Engine.Singleton.NewtonWorld);
            CharacterMaterialID       = new MaterialID(Engine.Singleton.NewtonWorld);
            TriggerVolumeMaterialID   = new MaterialID(Engine.Singleton.NewtonWorld);
            DescribedMaterialID       = new MaterialID(Engine.Singleton.NewtonWorld);
            CharacterSensorMaterialID = new MaterialID(Engine.Singleton.NewtonWorld);
            EnemyMaterialID           = new MaterialID(Engine.Singleton.NewtonWorld);
            WaypointMaterialID        = new MaterialID(Engine.Singleton.NewtonWorld);

            TriggerVolumeCharacterPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                CharacterMaterialID, TriggerVolumeMaterialID);
            TriggerVolumeCharacterPair.SetContactCallback(new TriggerVolumeGameObjectCallback());

            CharacterSensorPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                CharacterMaterialID, CharacterSensorMaterialID);
            CharacterSensorPair.SetContactCallback(new SensorGameObjectCallback());

            SensorLevelPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                LevelMaterialID, CharacterSensorMaterialID);
            //SensorLevelPair.SetContactCallback(new IgnoreCollisionCallback());
            SensorLevelPair.SetContactCallback(new SensorGameObjectCallback());

            SensorTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                TriggerVolumeMaterialID, CharacterSensorMaterialID);
            SensorTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());

            SensorDescribedObjectPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                DescribedMaterialID, CharacterSensorMaterialID);
            SensorDescribedObjectPair.SetContactCallback(new SensorGameObjectCallback());

            DescribedTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                DescribedMaterialID, TriggerVolumeMaterialID);
            DescribedTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());

            EnemyTriggerVolumePair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                EnemyMaterialID, TriggerVolumeMaterialID);
            EnemyTriggerVolumePair.SetContactCallback(new IgnoreCollisionCallback());

            EnemySensorPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                EnemyMaterialID, CharacterSensorMaterialID);
            EnemySensorPair.SetContactCallback(new SensorGameObjectCallback());

            WaypointCharacterPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                WaypointMaterialID, CharacterMaterialID);
            WaypointCharacterPair.SetContactCallback(new IgnoreCollisionCallback());

            WaypointTriggerPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                WaypointMaterialID, TriggerVolumeMaterialID);
            WaypointTriggerPair.SetContactCallback(new IgnoreCollisionCallback());

            WaypointEnemyPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                WaypointMaterialID, EnemyMaterialID);
            WaypointEnemyPair.SetContactCallback(new IgnoreCollisionCallback());

            WaypointDescribedPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                WaypointMaterialID, DescribedMaterialID);
            WaypointDescribedPair.SetContactCallback(new IgnoreCollisionCallback());

            WaypointSensorPair = new MaterialPair(
                Engine.Singleton.NewtonWorld,
                WaypointMaterialID, CharacterSensorMaterialID);
            WaypointSensorPair.SetContactCallback(new IgnoreCollisionCallback());
        }