forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Сравнените Юнити и другие системы (http://forum.boolean.name/showthread.php?t=13127)

Illidan 13.08.2010 23:28

Ответ: Сравнените Юнити и другие системы
 
Цитата:

Сообщение от Knightmare (Сообщение 158295)
дальше ручками, ручками а это же так сложно!

а как же! но согласись,рабочая среда очень удобна:)

Knightmare 13.08.2010 23:36

Ответ: Сравнените Юнити и другие системы
 
Цитата:

Сообщение от Illidan (Сообщение 158296)
а как же! но согласись,рабочая среда очень удобна:)

Шо? Ты назвал встроенный говноредактор скриптов удобным? Или ты про интеграцию с VS? Но тогда какая тут заслуга Unity? Для дизигнеров может и да, удобен редактор, но как программиста он меня мало волнует, программист не расставляет модельки по сцене и не лепит уровни, он пишет игровую логику.

IGR 13.08.2010 23:41

Ответ: Сравнените Юнити и другие системы
 
Юнити в принципе не для двигописателей, а геймейкере в свое удовольствие могут лепить игры с того что уже готово в юнити !! Навыки программирования, понимание сути, архитектуры игры, очевидно, востребованы !!

pax 14.08.2010 00:45

Ответ: Сравнените Юнити и другие системы
 
2Knightmare
Ну многим и надо только поиграться, а Unity как раз подходящий инструмент для этого. Оставшимся движок дает возможность отдохнуть от низкоуровневого программирования средствами GAPI и просто наслаждаться продуманной гибкой архитектурой и экономить время. Я пытался в одиночку написать движок на XNA с отложенным затенением. Но когда понял что в моей жизни женатого человека с детьми нет времени на изобретение велосипедов - Unity стал открытием. Так что каждому свое.

Andvrok 14.08.2010 02:34

Ответ: Сравнените Юнити и другие системы
 
Я знаю, что дальше какой-то любительской игрушки, сделанной для себя и друзей, я не уйду. Так зачем мне, не программисту, заморачиватся с написанием шейдеров и прочей лабудой? Мне надо что-то попроще, где я могу большую часть времени, выделеного на игрописательство, заниматся созданием новых уровней, террайнов, эффектов из частиц и настройкой гуи. А когда всю ночь пытаешся сделать какой-то скрипт на 100 страниц шрифтом Arial 2 только для того, чтобы игра нормально работала, тут уже никаких сил и никакого желания не остается на визуальную часть игры.

Откройте раздел "Проекты на Blitz3D", и посмотрите, сколько там проектов, которые дальше чем уровень с 1 домиком с текстурой, натянутой как глаз на жопу, не ушли. А ведь большинство авторов таких проектов пытались изначально сделать что-то красивое/интересное, но упираются в стену "многабукаф!!1", решают занятся визуальной частью игры, а там графика 93го года, после чего рождается мысль "а наф заморачиватся с кодом если такое гуано некрасивое все равно?" и проект благополучно закрывается.

С другой стороны в программе более дружественной к пользователю, в Unity если у человека не получается сразу написать мего-код, он может занятся визуальной частью, которая, кстати, довольно проста в освоении, после чего, увидев красивую сценку с шейдерами, реалистичной водой с оражениями, красивыми эффектами, и прочими вкусностями, у него появится стимул писать код.

Вот тут многие кричат "для того, чтобы сделать сценку на стандартных еффектах и скриптах, с выдернутыми моделями, много ума не надо".
А зачем убивать тонну времени на создание того, что можно получить даром, если проект делается для фана? Если у меня когда-то появится мысль писать игры для продажи, то этим будет заниматся явно не один человек за стареньким компьютером с риппером в руках. Я делаю проекты для СЕБЯ, а значит мне нет смысла убивать время на изобретение велосипеда.

Все крутые писатели игр на блитце, предназначенных для продажи и срубания бабла, пишите сотни страниц кода и радуйтесь, но не надо кидатся как собаки на кость на человека который пишет что-либо для своего удовольствия.

tormoz 14.08.2010 03:11

Ответ: Сравнените Юнити и другие системы
 
чушь
если ты в примитивном блитце не способен написать мини игру, то в юнити и подавно не сможешь

твоя убогая сценка ничего не доказывает
писать нормальную игровую логику на юнити в разы сложнее чем на блитце

Andvrok 14.08.2010 03:28

Ответ: Сравнените Юнити и другие системы
 
В юнити писать логику в разы проще. Да и на одной логике не вырулишь, а в этом плане юнити на голову превосходит блиц.

Цитата:

твоя убогая сценка ничего не доказывает
Причем здесь моя сценка? Она и не была призвана что-либо доказывать.

CRASHER 14.08.2010 07:23

Ответ: Сравнените Юнити и другие системы
 
Ну я тут и кашку заворил)
Почему после всего что вы сделали на Блитз3д вы так его обесцениваете?) У него тоже есть чем похвастаться и темболее его возможности стали намного шыре после появления Ксорса. И я так и не понял, при помощи чего вертексами шевелить? :)

pax 14.08.2010 10:23

Ответ: Сравнените Юнити и другие системы
 
Цитата:

Сообщение от CRASHER (Сообщение 158321)
я так и не понял, при помощи чего вертексами шевелить? :)

Учись прилагать усилия и заглядывать в справку (ссылка) ;)

CRASHER 14.08.2010 12:35

Ответ: Сравнените Юнити и другие системы
 
Цитата:

Сообщение от pax (Сообщение 158333)
Учись прилагать усилия и заглядывать в справку (ссылка) ;)

Яж просто узнать можно в нем модель редактировать или нет :) мне не лень вовсе, незнал куда заглянуть просто. А ты не знаешь там много нужно чтобы вершину удалить? ;)

pax 14.08.2010 13:22

Ответ: Сравнените Юнити и другие системы
 
Самый простой способ - это найти треугольники, использующие эту вершину и удалить их из индексного буфера не трогая вершинный. Если хочешь и данные о вершине удалить, то тебе придется еще и пересчитать индексный буфер после удаления на соответствие новым индексам в вершинном буфере.

.Squid 14.08.2010 13:31

Ответ: Сравнените Юнити и другие системы
 
Цитата:

Сообщение от CRASHER (Сообщение 158336)
Яж просто узнать можно в нем модель редактировать или нет :) мне не лень вовсе, незнал куда заглянуть просто. А ты не знаешь там много нужно чтобы вершину удалить? ;)

Цитата:

Сообщение от pax (Сообщение 158341)
Самый простой способ - это найти треугольники, использующие эту вершину и удалить их из индексного буфера не трогая вершинный. Если хочешь и данные о вершине удалить, то тебе придется еще и пересчитать индексный буфер после удаления на соответствие новым индексам в вершинном буфере.

Ой, и Юнити уже не такой простой, да? :-D

pax 14.08.2010 13:51

Ответ: Сравнените Юнити и другие системы
 
Цитата:

Сообщение от .Squid (Сообщение 158342)
Ой, и Юнити уже не такой простой, да? :-D

А почему все должно быть просто ;)

Вот пример удаления вершины из меша с одним материалом. Для нескольких материалов придется перебирать все индексные буферы. Плюс я забыл проверять на сущесвование массивов, и не учел бинормали, второй UV канал, цвета и может чего еще. Так же надо было проверить - входит ли индекс удаляемой вершины в промежуток между 0 и количеством вершин. Но как пример пойдет :)
Я скорее всего ошибся в расчетах при копировании частей массивов, но мне лень тестить :)

PHP код:

public static void DeleteMeshVertex(Mesh meshint vertex)
    {
        
Vector3[] vertices mesh.vertices;
        
int[] triangles mesh.triangles;
        
Vector2[] uv mesh.uv;
        
Vector3[] normals mesh.normals;

        List<
intnewTriangles = new List<int>();

        
// удаляем треугольники, содержащие вершину
        
for (int i 0triangles.Lengthi+=3)
        {
            if ((
triangles[i]!= vertex)&&
                (
triangles[i+1]!= vertex)&&
                (
triangles[i+2]!= vertex))
            {
                
newTriangles.Add(triangles[i]);
                
newTriangles.Add(triangles[i+1]);
                
newTriangles.Add(triangles[i+1]);
            }
        }

        
// создаем новые буферы вершин, текстурных координат и нормалей
        // исключив ненужную вершину из массивов
        
Vector3[] newVertices = new Vector3[vertices.Length-1];

        Array.
Copy(verticesnewVerticesvertex);
        Array.
Copy(verticesvertex 1newVerticesvertexvertices.Length vertex 1);

        
Vector2[] newUV = new Vector2[uv.Length 1];

        Array.
Copy(uvnewUVvertex);
        Array.
Copy(uvvertex 1newUVvertexuv.Length vertex 1);

        
Vector3[] newNormals = new Vector3[normals.Length 1];

        Array.
Copy(normalsnewNormalsvertex);
        Array.
Copy(normalsvertex 1newNormalsvertexnormals.Length vertex 1);


        
// пересчитываем индексы
        
for (int i 0newTriangles.Counti++)
        {
            if (
newTriangles[i]>vertex)
            {
                
newTriangles[i]--;
            }
        }

        
mesh.Clear();
        
mesh.vertices newVertices;
        
mesh.uv newUV;
        
mesh.normals newNormals;
        
mesh.triangles newTriangles.ToArray();
    } 


.Squid 14.08.2010 14:35

Ответ: Сравнените Юнити и другие системы
 
Цитата:

Сообщение от pax (Сообщение 158344)
А почему все должно быть просто ;)

Я не знаю, но в этом топике бытует мнение, что Юнити - это большая красная кнопка "Сделать мне крутую игру".

Nuprahtor 14.08.2010 15:36

Ответ: Сравнените Юнити и другие системы
 
Цитата:

Я не знаю, но в этом топике бытует мнение, что Юнити - это большая красная кнопка "Сделать мне крутую игру".
В четвертой версии обещают такую кнопку
А пока приходится все самому делать, печально:(


Часовой пояс GMT +4, время: 14:10.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot