Разработка 3D вижка - Страница 5 - Форум StarCraft. Alternative.
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Вы вошли как Новобранец
Текущая дата: Среда, 11 Мар 2026, 02:48:57
Модератор форума: Barbanel, vr5  
Разработка 3D вижка
bednyДата: Среда, 05 Июл 2006, 11:13:35 | Сообщение # 61
Майор
Группа: Пользователи
Сообщений: 66
Репутация: -1
Статус: Offline
Так, ребят, я - Бедный, тот кто придумал Star Craft Realistic. Как вы знаете, он успешно разошёлся, но денег большинство участников за него не получило. буду очень рад работать с вами.
вкратце изложу общую ситуацию (времени сейчас мало, в сети бываю редко):
имеются 3 проекта
1. Star Craft Realistic 2. Графический движок уже на стадии тестирования, физика и баланс только "на бумаге".

2. Stroll Game Engine (http://stroll.h12.ru). Шароварный экшн от 1 лица, пока планируемый "от балды". В движке есть существенный сдвиги (бамп, шейдеры, мультитекстуры, тени и пр.). Может пригодиться.

3. Star Craft Realistic Final. В отличие от первого весит около 1.5 Гб (на 2 дисках). Есть новые кампании, переделана кое-где физика и баланс, улучшена анимация, добавлен новый сетевой режим.

Ещё есть гоблинский перевод Периметра. Кому интересно - можно поучаствовать (Работа - не бей лежачего. перевести звук и текст, спародировать портреты героев).

Последние 2 проекта надо в ближайщем будущем издать через Torum Media, на получку прожить до завершения остальных.

Я предлагаю проекты 1, 2 и ваш объединить в проект Star Craft Tactics. Это будет что-то вроде Star Wars: Battlefront, но с возможностью играть и в режиме RTS.

P. S. Кампании остро нуждаются в новых картах и озвучке.


Искренне Ваш Георгий Бедный
 
braza87Дата: Четверг, 06 Июл 2006, 21:03:23 | Сообщение # 62
Генерал-майор
Группа: Team Siege
Сообщений: 316
Репутация: 1
Статус: Offline
честно сказать вот ниасилил как можно первые 2 и наш в 1 слить... обрисуй почетче что ли. но какой-то из твоих точно с нашим объединить нужно =)

 
BarbanelДата: Пятница, 07 Июл 2006, 02:22:25 | Сообщение # 63
Кара небесная
Группа: Администраторы
Сообщений: 705
Репутация: 0
Статус: Offline
Т. к. с господином bedny, связаться не удалось, пишу прямо тут:
Бедный, надо побазарить.
Quote (bedny)
1. Star Craft Realistic 2. Графический движок уже на стадии тестирования, физика и баланс только "на бумаге".

Сори, про Реалистик только слышал, не видел даже. Реалистик 2 - надо посмотреть что это такое, или подробнее про него разузнать.
Quote (bedny)
2. Stroll Game Engine (http://stroll.h12.ru). Шароварный экшн от 1 лица, пока планируемый "от балды". В движке есть существенный сдвиги (бамп, шейдеры, мультитекстуры, тени и пр.). Может пригодиться.

Стролл. Почитал диз-док, опять сорри, но делать пародию на хз что - не интересно.
Сам движок на Radeon X700 (P4 2Gh) показал 40-60 фпс. Маловато как-то, но мож я чего-то недопонял...

Как эти 2 проекта обьединить с нашим - пока тож ниасилил, мож ты что-то подскажешь/предложишь.
Но, по-любому побазарить надо, есть о чем.


Every cloud in the sky
Every place that I hide
Tell me what I,
I was wrong to let you go...

 
braza87Дата: Пятница, 07 Июл 2006, 11:35:11 | Сообщение # 64
Генерал-майор
Группа: Team Siege
Сообщений: 316
Репутация: 1
Статус: Offline
я вот тож реалистик вживую не видел, но слышал задоллго даж до этого проекта. респект =)

п.с. я пока 20 дней еще буду иногда в инет вылазить с работы, апотом на 2 недели в полный оффлайн. и где-то 10го августа точсно опятиь буду в строю.


 
BarbanelДата: Пятница, 07 Июл 2006, 15:55:48 | Сообщение # 65
Кара небесная
Группа: Администраторы
Сообщений: 705
Репутация: 0
Статус: Offline
Quote (braza87)
на 2 недели в полный оффлайн. и где-то 10го августа точсно опятиь буду в строю.

Ок понял. Делай наброски, если какие появятся, или идеи по геймплею, все понадобится.


Every cloud in the sky
Every place that I hide
Tell me what I,
I was wrong to let you go...

 
NavigatorДата: Среда, 12 Июл 2006, 12:35:46 | Сообщение # 66
Сержант
Группа: Пользователи
Сообщений: 22
Репутация: 0
Статус: Offline
а что с нашим движком , он какнибудь улучшился ???
 
BarbanelДата: Среда, 12 Июл 2006, 13:02:48 | Сообщение # 67
Кара небесная
Группа: Администраторы
Сообщений: 705
Репутация: 0
Статус: Offline
Quote (Navigator)
а что с нашим движком , он какнибудь улучшился ???

К сожалению нет, не улучшился... Но есть надежда на лучшее smile
Ведутся активные поиски и пробы других движков.


Every cloud in the sky
Every place that I hide
Tell me what I,
I was wrong to let you go...

 
MaximsimДата: Среда, 19 Июл 2006, 23:30:40 | Сообщение # 68
Сержант
Группа: Пользователи
Сообщений: 12
Репутация: 0
Статус: Offline
Улутшится!
ДЛЛ (будем так называть его, чтоб никто не возмущался)переписывается с нуля...
-переписан класс работы с окном и ЖЛ
-создается модуль для работы с 2D графикой
________________________________________________________________________
Готова (почти, на днях будет выложена )демка "МЕНЮ" написаная на "НАШЕЙ" ДЛЛ
smile
 
BarbanelДата: Вторник, 01 Авг 2006, 03:56:35 | Сообщение # 69
Кара небесная
Группа: Администраторы
Сообщений: 705
Репутация: 0
Статус: Offline
Макс, если не секрет, что именно там за баги были? И почему решили переписать его?
Спрашиваю, потому что я использую практически тот же класс, даже не класс, а пару процедур инициализирующих окно и OpenGL, и ни на какие баги пока не натыкался.

Добавлено (01 Авг 2006, 4:56:35 Am)
---------------------------------------------
Всем превед!
Хочу порадовать новостью, что наш движок развивается.
Недавно я приступил к работе над освещением и тенями, и уже есть некоторые результаты. Сейчас тружусь smile над прожекторами, уже могу рисовать световое пятно на любой модели, но пока не могу регулировать его размер и затухание с расстоянием. Верю, что все это преодолимо biggrin .

ЗЫ скажу по секрету, что один человег предложил мне померяться пиписьками, т.е. примерно в 20-х числах августа сравнить 2 написанных к тому времени графических движка. Чтож, вызов принят и я уже приготовил линейку! biggrin biggrin biggrin Так что, болейте за меня!


Every cloud in the sky
Every place that I hide
Tell me what I,
I was wrong to let you go...

Сообщение отредактировал Barbanel - Вторник, 25 Июл 2006, 18:54:57
 
NavigatorДата: Пятница, 04 Авг 2006, 14:37:01 | Сообщение # 70
Сержант
Группа: Пользователи
Сообщений: 22
Репутация: 0
Статус: Offline
Болеем!
 
BarbanelДата: Среда, 09 Авг 2006, 02:37:22 | Сообщение # 71
Кара небесная
Группа: Администраторы
Сообщений: 705
Репутация: 0
Статус: Offline
Люди!!! ХЕЛП!!!
Программерам такой вопрос:
Как правильно рассчитывать нормали на модели?
Я считаю так:
беру 3 вертекса полигона, считаю по ним нормаль (ф-ция расчета нормали правильная, без сомнений), эту нормаль присваиваю всем трем вершинам полигона. Дальше я беру следующий полигон, и все заново. В таком алгоритме есть один недостаток: если один и тот же вертекс входит в несколько полигонов, то значению нормали присваивается значение _последней_ вычисленной, (а на самом деле, кажется, надо посчитать значения всех нормалей этих нескольких полигонов, а потом усреднить.)

Вот соббсно вопрос: как правильно это делать?
Вот часть моего кода:
Code
Function getNormal(v1,v2,v3:TcVector3f):TcVector3f;
var l1,l2:TcVector3f;
   length,iLength:real;
begin
  l1[0]:=v2[0]-v1[0];
  l1[1]:=v2[1]-v1[1];
  l1[2]:=v2[2]-v1[2];
  l2[0]:=v3[0]-v1[0];
  l2[1]:=v3[1]-v1[1];
  l2[2]:=v3[2]-v1[2];

result[0]:=l1[1]*l2[2]-l1[2]*l2[1];
result[1]:=l1[2]*l2[0]-l1[0]*l2[2];
result[2]:=l1[0]*l2[1]-l1[1]*l2[0];

length:=result[0]*result[0] + result[1]*result[1] + result[2]*result[2];
length:=sqrt(length);
ilength:=1/length;

result[0]:=result[0]*ilength;
result[1]:=result[1]*ilength;
result[2]:=result[2]*ilength;
end;

procedure MD5_UpdateNormals(m1:TPActor);
var i,i1,i2,i3:integer;
   v1,v2,v3,norm:TcVector3f;
begin
// здесь:
// ArrIndex - массив с индексами вершин
// ArrVertex - массив самих вершин (их координат)
// ArrTexture[i].Normal - сама нормаль в этой вершине

 i:=0;
 while i<m1.md5mesh.ArrIndexCount-2 do
  begin
   i1:=m1.md5mesh.ArrIndex[i];
   i2:=m1.md5mesh.ArrIndex[i+2];
   i3:=m1.md5mesh.ArrIndex[i+1];
   v1:=m1.md5mesh.ArrVertex[i1];
   v2:=m1.md5mesh.ArrVertex[i2];
   v3:=m1.md5mesh.ArrVertex[i3];
   norm:=getNormal(v1, v2, v3);
   m1.md5mesh.ArrTexture[i1].Normal:=norm;
   m1.md5mesh.ArrTexture[i2].Normal:=norm;
   m1.md5mesh.ArrTexture[i3].Normal:=norm;
   i:=i+3;
  end;
end;

Господа программеры, ПЛИЗ ХЕЛП, работа стоит...


Every cloud in the sky
Every place that I hide
Tell me what I,
I was wrong to let you go...

 
vr5Дата: Суббота, 12 Авг 2006, 00:58:08 | Сообщение # 72
Майор
Группа: Team Siege
Сообщений: 86
Репутация: 2
Статус: Offline
ну, вообще-то, то что ты говоришь действительно только для плоского освещения. нормаль нужно считать для каждой точки, и если точка входит в несколько полигонов, то для каждого полигона в отдельности, а потом усреднять
 
BarbanelДата: Суббота, 12 Авг 2006, 01:28:15 | Сообщение # 73
Кара небесная
Группа: Администраторы
Сообщений: 705
Репутация: 0
Статус: Offline
Quote (vr5)
вообще-то, то что ты говоришь действительно только для плоского освещения

Блин, да! Но тем не менее этот код дает что-то наподобии smooth shading. Но не совсем корректный.
А мне нужен полноценный корректный smooth shading.
Вот я и спрашиваю, как именно это лучше всего делать, малой кровью, так сказать.


Every cloud in the sky
Every place that I hide
Tell me what I,
I was wrong to let you go...

 
MaximsimДата: Понедельник, 21 Авг 2006, 21:37:15 | Сообщение # 74
Сержант
Группа: Пользователи
Сообщений: 12
Репутация: 0
Статус: Offline
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
procedure TObj.CalcFaceNormals;
var
i : Integer;
wrki, vx1, vy1, vz1, vx2, vy2, vz2 : GLfloat;
nx, ny, nz : GLfloat;
wrkVector : TVector3D;
wrkVector1, wrkVector2, wrkVector3 : TVector3D;
wrkFace : TFace;
begin
GetMem(FaceNormal ,NumFace*SizeOf(TVector3D));
GetMem(VertexNormal,NumVertex*SizeOf(TVector3D));
NumVertexNormal:=NumVertex;
NumFaceNormal:=NumFace;

For i := 0 to NumFace - 1 do begin
wrkFace := Face[i];
wrkVector1 := Vertex[Face[i].a] ;
wrkVector2 := Vertex[Face[i].b] ;
wrkVector3 := Vertex[Face[i].c] ;

vx1 := wrkVector1.x - wrkVector2.x;
vy1 := wrkVector1.y - wrkVector2.y;
vz1 := wrkVector1.z - wrkVector2.z;

vx2 := wrkVector2.x - wrkVector3.x;
vy2 := wrkVector2.y - wrkVector3.y;
vz2 := wrkVector2.z - wrkVector3.z;

nx := vy1 * vz2 - vz1 * vy2;
ny := vz1 * vx2 - vx1 * vz2;
nz := vx1 * vy2 - vy1 * vx2;

wrki := sqrt (nx * nx + ny * ny + nz * nz);

wrkVector.x := nx / wrki;
wrkVector.y := ny / wrki;
wrkVector.z := nz / wrki;

FaceNormal[i]:=wrkVector;
end;
end;
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

procedure TObj.CalcVertexNormals;
var i, j ,shared: integer;
Fac : tFace;
length : single;
VSum,VZero:TVector3D;
begin
for i:=0 to NumVertex- 1 do
begin
for j:=0 to 2 do
begin
VertexNormal[i].X :=0;
VertexNormal[i].Y :=0;
VertexNormal[i].Z :=0;
end;
end;

VectorClear(vSum);
VectorClear(VZero);
Shared:=0;

for I:=0 to NumVertex-1 do
begin
for J:=0 to NumFace-1 do
if (Face[J].a = I) or (Face[J].b = I) or
(Face[J].c = I) then
begin
VSum:=VectorAdd(VSum, FaceNormal[J]);
Inc(Shared);
end;

VertexNormal[I]:=VectorDivide(vSum, Shared);
VectorNormalize(VertexNormal[I]);

vSum:=vZero;
Shared:=0;
end;
end;
//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Scene[MeshCount].Mesh.CalcFaceNormals;
Scene[MeshCount].Mesh.CalcVertexNormals;
///Scene[MeshCount].Mesh.InitVBO;////////XA-XA-XA
biggrin

 
BarbanelДата: Вторник, 22 Авг 2006, 13:17:59 | Сообщение # 75
Кара небесная
Группа: Администраторы
Сообщений: 705
Репутация: 0
Статус: Offline
Алгоритм вычисления нормали для конкретного полигона я знаю, ты мне скажи как вычислить сглаженные нормали? Что-то вроде Smooth Shading. Хотя уже есть идеи.

Every cloud in the sky
Every place that I hide
Tell me what I,
I was wrong to let you go...

 
Поиск: