Софт Ищу Unreal для правильных текстур.

Mex-Vision

Бессмертный
Iron Lord
Победитель в номинации 2022
Победитель в номинации 2021
Победитель в номинации 2020
Победитель в номинации 2019
Победитель в номинации 2017
Сообщения
833
Розыгрыши
0
Репутация
448
Реакции
545
Баллы
1 613
Всем привет, суть проблемы у меня такова. Хочу запаковать текстуры, чтобы в дальнейшем они растягивались, как это делают стандартные кнопки в Lineage 2. Поиски по сети, дали информацию, что нужно дописывать функционал в unreal, нашел компилятор Engine.u, что-то в нем пытался ковырять, так как вычитал в теме что надо добавить определенный код, но из-за плохого знания движка и программирования, это не обвенчалось успехом :(

Хотелось бы спросить:
1) Есть ли Unreal с нужным мне функционалом(только растягиваемость текстур) в открытом доступе?
2) Есть ли информация благодаря которой это можно реализовать?

И в случае если на первые 2 вопроса отрицательный ответ:
1) Может ли кто-то поделиться данным редактором?
2) Сколько будет стоить данный редактор и продается ли он вообще?

Буду очень благодарен тому, кто поможет хотя-бы советом.
 

Вам нужно реализовать Split9 для того что бы тянулись текстуры. В какой то из тем я частично пояснял как и куда и откуда ставить код.
 
Последнее редактирование:
Назови конкретную текстуру-пример, чтобы было понятно, о чем речь идет.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Угу, ковыряем параметр bSplit9Texture в своей текстурке. подробней не могу сейчас рассказать. на работе душат(

и вот кстати эта тема
 
Вам нужно реализовать Split9 для того что бы тянулись текстуры. В какой то из тем я частично пояснял как и куда и откуда ставить код.
Я бы не создавал тему если бы получилось( Я видел эту тему, и пробовал добавить этот функционал, но Engine.u перестает компилироваться.

General protection fault!

History: FArchiveSaveTagExports<<Obj <- FPropertyTag::SerializeTaggedProperty <- SaveStream <- UStruct::SerializeTaggedProperties <- (AnimNext[0]) <- UObject::Serialize <- (Texture Engine.S_TerrainInfo) <- UTexture::Serialize <- FArchiveSaveTagExports<<Obj <- FPropertyTag::SerializeTaggedProperty <- SaveStream <- UStruct::SerializeTaggedProperties <- (Texture[0]) <- UClass::Serialize <- (Class Engine.TerrainInfo) <- FArchiveSaveTagExports<<Obj <- UObjectProperty::Serialize <- (ObjectProperty Engine.ZoneInfo.Terrains.Terrains) <- FArchiveSaveTagExports<<Obj <- UArrayProperty::Serialize <- (ArrayProperty Engine.ZoneInfo.Terrains) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (BoolProperty Engine.ZoneInfo.bClearToFogColor) <- UProperty::Serialize <- (BoolProperty Engine.ZoneInfo.bClearToFogColor) <- UBoolProperty::Serialize <- (BoolProperty Engine.ZoneInfo.bClearToFogColor) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (BoolProperty Engine.ZoneInfo.bDistanceFog) <- UProperty::Serialize <- (BoolProperty Engine.ZoneInfo.bDistanceFog) <- UBoolProperty::Serialize <- (BoolProperty Engine.ZoneInfo.bDistanceFog) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (BoolProperty Engine.ZoneInfo.bTerrainZone) <- UProperty::Serialize <- (BoolProperty Engine.ZoneInfo.bTerrainZone) <- UBoolProperty::Serialize <- (BoolProperty Engine.ZoneInfo.bTerrainZone) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (BoolProperty Engine.ZoneInfo.bSoftKillZ) <- UProperty::Serialize <- (BoolProperty Engine.ZoneInfo.bSoftKillZ) <- UBoolProperty::Serialize <- (BoolProperty Engine.ZoneInfo.bSoftKillZ) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (ByteProperty Engine.ZoneInfo.KillZType) <- UProperty::Serialize <- (ByteProperty Engine.ZoneInfo.KillZType) <- UByteProperty::Serialize <- (ByteProperty Engine.ZoneInfo.KillZType) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (FloatProperty Engine.ZoneInfo.KillZ) <- UProperty::Serialize <- (FloatProperty Engine.ZoneInfo.KillZ) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (StrProperty Engine.ZoneInfo.LocationName) <- UProperty::Serialize <- (StrProperty Engine.ZoneInfo.LocationName) <- UStrProperty::Serialize <- (StrProperty Engine.ZoneInfo.LocationName) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (NameProperty Engine.ZoneInfo.ZoneTag) <- UProperty::Serialize <- (NameProperty Engine.ZoneInfo.ZoneTag) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (ObjectProperty Engine.ZoneInfo.SkyZone) <- UProperty::Serialize <- (ObjectProperty Engine.ZoneInfo.SkyZone) <- UObjectProperty::Serialize <- (ObjectProperty Engine.ZoneInfo.SkyZone) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (Function Engine.ZoneInfo.ZoneActors) <- UStruct::Serialize <- (Function Engine.ZoneInfo.ZoneActors) <- UFunction::Serialize <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (Function Engine.ZoneInfo.LinkToSkybox) <- UStruct::Serialize <- (Function Engine.ZoneInfo.LinkToSkybox) <- UFunction::Serialize <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (Function Engine.ZoneInfo.PreBeginPlay) <- UStruct::Serialize <- (Function Engine.ZoneInfo.PreBeginPlay) <- UFunction::Serialize <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (Function Engine.ZoneInfo.ActorEntered) <- UStruct::Serialize <- (Function Engine.ZoneInfo.ActorEntered) <- UFunction::Serialize <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (Function Engine.ZoneInfo.ActorLeaving) <- UStruct::Serialize <- (Function Engine.ZoneInfo.ActorLeaving) <- UFunction::Serialize <- FArchiveSaveTagExports<<Obj <- UStruct::Serialize <- (Class Engine.ZoneInfo) <- UState::Serialize <- UClass::Serialize <- (Class Engine.ZoneInfo) <- FArchiveSaveTagExports<<Obj <- UField::Serialize <- (Class Engine.LevelInfo) <- UStruct::Serialize <- (Class Engine.LevelInfo) <- UState::Serialize <- UClass::Serialize <- (Class Engine.LevelInfo) <- FArchiveSaveTagExports<<Obj <- FArchiveSaveTagExports<<Obj <- SerializeExpr <- (01) <- SerializeExpr <- (19) <- SerializeExpr <- (0F) <- UStruc
 
Угу, ковыряем параметр bSplit9Texture в своей текстурке. подробней не могу сейчас рассказать. на работе душат(

и вот кстати эта тема
Я пробовал добавить в Texture.u вот эти переменные:

var(Split9) bool bSplit9Texture;
var(Split9) int Split9X1;
var(Split9) int Split9X2;
var(Split9) int Split9X3;
var(Split9) int Split9Y1;
var(Split9) int Split9Y2;
var(Split9) int Split9Y3;
var int pSplit9TexCacheMap;

Но как итог, ошибка при компиляции((( Там выше в теме я кинул ошибку.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Я пробовал добавить в Texture.u вот эти переменные:

var(Split9) bool bSplit9Texture;
var(Split9) int Split9X1;
var(Split9) int Split9X2;
var(Split9) int Split9X3;
var(Split9) int Split9Y1;
var(Split9) int Split9Y2;
var(Split9) int Split9Y3;
var int pSplit9TexCacheMap;

Но как итог, ошибка при компиляции((( Там выше в теме я кинул ошибку.
Вечером постараюсь посмотреть, как вариант можешь глянуть в патче аверии, если осталось. у них были кнопки в кб такие если не ошибаюсь
 
Вечером постараюсь посмотреть, как вариант можешь глянуть в патче аверии, если осталось. у них были кнопки в кб такие если не ошибаюсь
Мне просто не нужны конкретные кнопки, я хочу иметь возможность добавлять именно свои(
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
да вроде любым эдитором можно пакануть,а после в PE просто поковырять параметры
даже у пака созданного через корявый уеедитор есть нулёвый сплит,что как бы намекает
qdw.png
 
да вроде любым эдитором можно пакануть,а после в PE просто поковырять параметры
даже у пака созданного через корявый уеедитор есть нулёвый сплит,что как бы намекает
qdw.png
А что это у вас за программа? Поищу.
 
Если правильно делать то все прекрасно собирается. Первые едиторы делали вообще без сурса. И костыльно делали те же сплиты и т.д и собиралось. Сейчас же даже сурсы есть полные.
Как минимум для простого варианта возьмите добавте в Texture.uc примерно такой код:
Код:
var(Split9)                bool bSplit9Texture;
var(Split9)                int Split9X1;
var(Split9)                int Split9X2;
var(Split9)                int Split9X3;
var(Split9)                int Split9Y1;
var(Split9)                int Split9Y2;
var(Split9)                int Split9Y3;
var                        int    pSplit9TexCacheMap;
К примеру после строки:
Код:
var const editconst private  bool bHasComp;        //!!OLDVER Whether a compressed version exists.

Затем идем в UnTex.h и добавляем примерно такой код:
Код:
    BITFIELD bSplit9Texture:1;
    INT Split9X1;
    INT Split9X2;
    INT Split9X3;
    INT Split9Y1;
    INT Split9Y2;
    INT Split9Y3;
    INT pSplit9TexCacheMap;

После строки:
Код:
BITFIELD    OLDbHasComp:1;                //!!OLDVER Compressed version included?
Этого элементарно хватит для вывода в свойства всех необходимых сплитов. Для вывода отображения прорисовки, уже нужно чуток кода запилить минимально, для вывода в контентном браузере в файле UnEdCam.cpp и для вывода в свойства текстуры DlgTexProp.cpp, но это уже другая история, первой части вам хватит для вывода!
 
Если правильно делать то все прекрасно собирается. Первые едиторы делали вообще без сурса. И костыльно делали те же сплиты и т.д и собиралось. Сейчас же даже сурсы есть полные.
Как минимум для простого варианта возьмите добавте в Texture.uc примерно такой код:
Код:
var(Split9)                bool bSplit9Texture;
var(Split9)                int Split9X1;
var(Split9)                int Split9X2;
var(Split9)                int Split9X3;
var(Split9)                int Split9Y1;
var(Split9)                int Split9Y2;
var(Split9)                int Split9Y3;
var                        int    pSplit9TexCacheMap;
К примеру после строки:
Код:
var const editconst private  bool bHasComp;        //!!OLDVER Whether a compressed version exists.

Затем идем в UnTex.h и добавляем примерно такой код:
Код:
    BITFIELD bSplit9Texture:1;
    INT Split9X1;
    INT Split9X2;
    INT Split9X3;
    INT Split9Y1;
    INT Split9Y2;
    INT Split9Y3;
    INT pSplit9TexCacheMap;

После строки:
Код:
BITFIELD    OLDbHasComp:1;                //!!OLDVER Compressed version included?
Этого элементарно хватит для вывода в свойства всех необходимых сплитов. Для вывода отображения прорисовки, уже нужно чуток кода запилить минимально, для вывода в контентном браузере в файле UnEdCam.cpp и для вывода в свойства текстуры DlgTexProp.cpp, но это уже другая история, первой части вам хватит для вывода!
Вы в теме, которую мне скидывали чуть ранее, публиковали компилятор, там я не нашел файла UnTex.h(((
 
В тот раз самый натуральный костыль был для тех кто не имеет сурса, в этот раз костыль чуть меньшего масштаба)) Просто что бы вывести поля которые можно править. А по нормальному, как писал выше, в сурс унреала ещё надо делать вывод полосок, что бы видеть что вы прописываете, а не только в игре.
 
В тот раз самый натуральный костыль был для тех кто не имеет сурса, в этот раз костыль чуть меньшего масштаба)) Просто что бы вывести поля которые можно править. А по нормальному, как писал выше, в сурс унреала ещё надо делать вывод полосок, что бы видеть что вы прописываете, а не только в игре.
Уже разобрался, человек скинул эдитор хороший, он вроде как тут в разделе файлы лежит. Он конечно не отображает на самой текстуре сплиты, но мне его вполне хватает. Порадовало, что он может открывать кодированные файлы, даже с ессенса, все работает отлично, ну и бонусом возможность анимирования есть. Вообщем с проблемой разобрался, всем спасибо! Сижу кайфую теперь)))
 
Знаю этот эдитор у него беда с вертекс мешами новыми и анимацией движений. + куча других, но в шаре это лучший софт. Если вам нужна просто работа сугубо с текстурами то вам его в принципе хватит!
 
Назад
Сверху Снизу