Добавлен , опубликован
Модель
Тип:
Декорация
Раса:
Нет
Тип оружия:
Нет
Материал:
Нет
Пак содержит:
  • 1 модель планеты, и 12 текстур к ней (14 кб модель)
  • 2 модели облаков (14 кб каждая модель)
  • 6 моделей аттачей освещения (2 кб каждый)
  • 3 модели аттачей колонизации (3, 4, 13 кб)
  • 1 модель кольца астероидов, предназначена для юнита который будет прикреплен к юниту - планете, имеет 2 анимации, первая без крена, вторая под углом, цвет модели изменит цвет колец (2 кб)
- Модель луны
текстуры весят много
Текстура к планете крепится через функцию
function SetTexture takes unit u, integer texture_id returns nothing 
        set bj_lastCreatedDestructable = CreateDestructable(texture_id, GetUnitX(u) + (10. * Cos(GetUnitFacing(u) * bj_DEGTORAD)), GetUnitY(u) + (10. * Sin(GetUnitFacing(u) * bj_DEGTORAD)), 0., 1., 0)
        call UnitAddAbility(u, 'Agra')
        call IssueTargetOrderById(u, order_grabtree, bj_lastCreatedDestructable)
        call UnitRemoveAbility(u, 'Agra')
        call RemoveDestructable(bj_lastCreatedDestructable)
        call SetUnitAnimation(u, "stand")
    endfunction
аттачи можно крепить либо к origin, либо к chest, разница в том что если крепится к орижину то эффект не будет вращаться с планетой, если же к chest то модель будет вращаться привязанной к планете (например эффект колонизации или облака)
подробнее в статье xgm.guru/p/wc3/various_textures
UPDATE
В пак добавлена модель Луны, и переделаны модели и текстуры облаков
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
29
10 лет назад
0
Блин круто, еще бы прикрепить функцию к генерации нужной планеты и был вы вообще шик)
А кольцо астероидов вращается?
0
26
10 лет назад
0
alexprey:
Блин круто, еще бы прикрепить функцию к генерации нужной планеты и был вы вообще шик)
А кольцо астероидов вращается?
что ты имеешь виду? не совсем понял о чем ты)
вращается конечно, и скорость вращения как планет так и кольца можно менять кончено же через задании скорости проигрывания анимации
0
29
10 лет назад
0
вращается конечно, и скорость вращения как планет так и кольца можно менять кончено же через задании скорости проигрывания анимации
вообще круто)
Hate:
что ты имеешь виду? не совсем понял о чем ты)
функция которая по заданным параметрам создает планету. Или вообще случайно генерит её)
0
26
10 лет назад
0
ну у каждого будут свои аиди декораций-текстур, поэтому я только одну функцию описал которая универсальна, да и эффекты от аттачей где то хранить нужно
пример функции для создания, cJass
library Galaxy initializer Init requires Game

// setups
    enum (PLANET_TYPES) 
    { PLANET_TYPE_ARCTIC, PLANET_TYPE_ARID, PLANET_TYPE_DESERT, PLANET_TYPE_HELIUM, PLANET_TYPE_HOLLOW, PLANET_TYPE_HYDROGEN, PLANET_TYPE_JUNGLE, PLANET_TYPE_LAVA, PLANET_TYPE_METHANE, PLANET_TYPE_OCEAN, PLANET_TYPE_TERRAIN, PLANET_TYPE_TUNDRA }
    
    define {
        PLANET_ID_ARCTIC = 'B000'
        PLANET_ID_ARID = 'B001'
        PLANET_ID_DESERT = 'B002'
        PLANET_ID_HELIUM = 'B003'
        PLANET_ID_HOLLOW = 'B004'
        PLANET_ID_HYDROGEN = 'B005'
        PLANET_ID_JUNGLE = 'B006'
        PLANET_ID_LAVA = 'B007'
        PLANET_ID_METHANE = 'B008'
        PLANET_ID_OCEAN = 'B009'
        PLANET_ID_TERRAIN = 'B00A'
        PLANET_ID_TUNDRA = 'B00B'
    }
    
// globals
    int PlanetId[11]
    

// functions
    void AssociatePlanet(unit planet_widget, integer planet_type, integer cloud_var, integer civil_var){
        SetTexture(planet_widget, PlanetId[planet_type])
            if planet_type == PLANET_TYPE_ARCTIC {
                AddSpecialEffectTarget("Planet_Atmosphere_Effect_Arctic.mdx", planet_widget, "origin")
            }
            elseif planet_type == PLANET_TYPE_HELIUM {
                AddSpecialEffectTarget("Planet_Atmosphere_Effect_Helium.mdx", planet_widget, "origin")
            }
            elseif planet_type == PLANET_TYPE_HYDROGEN {
                AddSpecialEffectTarget("Planet_Atmosphere_Effect_Hydrogen.mdx", planet_widget, "origin")
            }
            elseif planet_type == PLANET_TYPE_METHANE {
                AddSpecialEffectTarget("Planet_Atmosphere_Effect_Methane.mdx", planet_widget, "origin")
            }
            elseif planet_type == PLANET_TYPE_LAVA {
                AddSpecialEffectTarget("Planet_Atmosphere_Effect_Lava.mdx", planet_widget, "origin")
            }
            else {
                AddSpecialEffectTarget("Planet_Atmosphere_Effect_Blue.mdx", planet_widget, "origin")
            }
            
        if civil_var == 1 {
            AddSpecialEffectTarget("Civil_Low.mdx", planet_widget, "chest")
        }
        elseif civil_var == 2 {
            AddSpecialEffectTarget("Civil_Medium.mdx", planet_widget, "chest")
        }
        elseif civil_var == 3 {
            AddSpecialEffectTarget("Civil_Max.mdx", planet_widget, "chest") 
        }
        
        if cloud_var == 1 {
            AddSpecialEffectTarget("Cloud.mdx", planet_widget, "origin")
        }
        elseif cloud_var == 2 {
            AddSpecialEffectTarget("Cloud_2.mdx", planet_widget, "origin")
        }
    }
    
    
    private void Init(){
        PlanetId[0] = PLANET_ID_ARCTIC
        PlanetId[1] = PLANET_ID_ARID
        PlanetId[2] = PLANET_ID_DESERT
        PlanetId[3] = PLANET_ID_HELIUM
        PlanetId[4] = PLANET_ID_HOLLOW
        PlanetId[5] = PLANET_ID_HYDROGEN
        PlanetId[6] = PLANET_ID_JUNGLE
        PlanetId[7] = PLANET_ID_LAVA
        PlanetId[8] = PLANET_ID_METHANE
        PlanetId[9] = PLANET_ID_OCEAN
        PlanetId[10] = PLANET_ID_TERRAIN
        PlanetId[11] = PLANET_ID_TUNDRA
    }
    
endlibrary 
    AssociatePlanet(gg_unit_h000_0001, PLANET_TYPE_TUNDRA, 1, 2)
    AssociatePlanet(gg_unit_h000_0005, PLANET_TYPE_LAVA, 0, 0)
    AssociatePlanet(gg_unit_h000_0006, PLANET_TYPE_HYDROGEN, 0, 0)
2
22
10 лет назад
2
Красивые модели.Реально круто сделано.
0
14
10 лет назад
0
Из SoaSE?
0
26
10 лет назад
0
ZregerZ:
Из SoaSE?
нет. текстуры выдернуты, но не оттуда, геометрия с нуля на коленке в мдлвисе (запарился, лучше бы скачал тот же милкшейп и поставил шар)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.