Страница 1 из 2

Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 17 сен 2010, 16:17
Ert Donuell
Так-с. Думаю я написать скрипт, позволяющий "сшивать" края территорий (как тут). И распространить его на халяву)
Изображение

Изображение


Пишу под Unity 3. Вот скрипт, который буду редактировать по мере его написания:

Синтаксис:
Используется javascript
import UnityEngine.GUILayout;
import UnityEditor.EditorGUILayout;

enum Direction {Across, Down}

class Stitch extends ScriptableWizard {
        static var across : int;
        static var down : int;
        static var tWidth : int;
        static var tHeight : int;
        static var stitchWidth : int;
       
        @MenuItem ("Terrain/Stitch...")
        static function CreateWizard () {
                if (lineTex == null) {
                        across = down = tWidth = tHeight = 2;
                        stitchWidth = 10;
                        SetNumberOfTerrains();
                        lineTex = EditorGUIUtility.whiteTexture;
                }
                message = "";
                ScriptableWizard.DisplayWizard("Stitch Terrains", Stitch);
        }
       
        function OnGUI () {
                BeginHorizontal(Width(220));
                        BeginVertical();
                                BeginHorizontal(Width(190));
                                        Label("Number of terrains across:", Width(160));
                                        across = System.Convert.ToInt32(TextField(across.ToString(), 25));
                                EndHorizontal();
                                BeginHorizontal(Width(190));
                                        Label("Number of terrains down:", Width(160));
                                        down = System.Convert.ToInt32(TextField(down.ToString(), 25));
                                EndHorizontal();
                        EndVertical();
                        BeginVertical();
                                if (Button("Apply")) {
                                        SetNumberOfTerrains();
                                }
                        EndVertical();
                EndHorizontal();
                BeginHorizontal();
                for (var i = 1; i <= tWidth; i++) {
                        BeginVertical();
                                for (var j = 1; j <= tHeight; j++) {
                                        var lol : Object;
                                        lol = ObjectField (lol, TerrainData);
                                }
                        EndVertical();
                }
                EndHorizontal();
        }
       
        static function SetNumberOfTerrains() {
                tWidth = across;
                tHeight = down;
        }
}
 


Пока что, разумеется, нифига не пашет - даже с гуи пока разобраться не могу, по сему буду рад любой посильной помощи)

Для начала - никак не могу сделать так чтобы выбор территорий осуществлялся со сцены.. Да и вообще ничего пока что не выбирается)

Re: Плагиат на Stitchscape

СообщениеДобавлено: 17 сен 2010, 19:42
Neodrop
На форуме есть раздел Editor - там лежат кой-какие скрипты, в которых можно поглядеть как и что работает.
Можно скачать мой Antares и поизучать его - там я уже не знаю сколько тысяч строк кода и все, преимущественно, про Эдитор :D
Получить выделенные объекты можно через класс Selection

Re: Плагиат на Stitchscape

СообщениеДобавлено: 18 сен 2010, 21:09
Ert Donuell
Огромное спасибо, буду изучать))

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 18 сен 2010, 22:40
Ert Donuell
Не могу осуществить выделение территории, расположенной на сцене :-l

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 21 окт 2010, 15:46
maxim rouf
Собственно, сам стич.

Комментарии (Google Taranslate):
Забросьте скрипт в папку "Editor" и получите новый пункт в Terrain меню, который называется "Stitch ..."
Для сшивания террайнов вместе, выберите Stitch ... в меню. Появится окно, в котором вы можете ввести общее число территорий, которые вы хотите сшить. По умолчанию 2х2 территории.
Вы можете изменить значение "ширины стежка", перетащив ползунок внизу. Это число пикселей от краев каждой территории. Чем больше число, тем шире диапазон, который будет затронут.
(Обратите внимание, что необходимость использования Terrain.SetNeighbors функции в скрипте по-прежнему необходима для того, чтобы LODы соответствовали изменениям)

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 21 окт 2010, 16:22
foonk
А я его уже выкладывал: viewtopic.php?f=84&t=2604

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 21 окт 2010, 16:59
maxim rouf
(derp)
Ну вот.. значит я боянист :[IIIIIII]:
))

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 21 окт 2010, 17:18
foonk
Тулза конечно неплохая, но вот только на местах стыков текстуры не стыкуются, но это уже совсем другая история...

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 21 окт 2010, 17:45
Neodrop
А на кой она тогда нужна? (popcorn1)

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 22 окт 2010, 22:52
Neodrop
Не забываем назначить TerrainNeighbours, кстати. Иначе дырки почти гарантированы из-за несовпадения лодов

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 10 ноя 2010, 00:51
AJP
Здраствуйте такой вот Вопрос , скрипт поставил но при выборе в меню stitch... ни кокого окошка не появляется?

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 10 ноя 2010, 10:52
Ert Donuell
AJP писал(а):Здраствуйте такой вот Вопрос , скрипт поставил но при выборе в меню stitch... ни кокого окошка не появляется?

Скрипт должен носить название "Stitch.js"

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 16 ноя 2010, 00:16
AJP
Ert Donuell писал(а):
AJP писал(а):Здраствуйте такой вот Вопрос , скрипт поставил но при выборе в меню stitch... ни кокого окошка не появляется?

Скрипт должен носить название "Stitch.js"

Спасибо Помогло!

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 20 фев 2011, 18:11
Ert Donuell
Pyx писал(а):Сшивает нормально,швов не видно,правда брал не из аттача,а оригинал переписывал на C# под 3.0.

Можно Ваш скрипт? У меня на тройке фигня какая-то. Сшивает не с первого раза, а раза с десятого. В финале все швы отстают друг от друга на небольшую величину по y? плюс сглаживание вообще не пашет :(

Re: Плагиат на Stitchscape (сшивание краёв территорий)

СообщениеДобавлено: 25 авг 2011, 10:11
punkvideo
народ есть у кого под 3_4 версию???