Воскресенье, 05 Мая 2024, 04:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Форум игроделов » Записи участника » Kilobyte [113]
Результаты поиска
KilobyteДата: Вторник, 02 Апреля 2013, 16:34 | Сообщение # 1 | Тема: Стекло в 3DRad
почетный гость
Сейчас нет на сайте
Цитата (alex32381)
1. Скорее всего Модель обтягивают так называемые внешние полигоны(В кетчупе они вроде сероватого оттенка).

Модель содержит одну грань
Цитата (alex32381)
2. Может порог прозрачности превышает допустимые значения?

где это настраивается?)
Цитата (alex32381)
4. Модель Экспортируете как SkinMesh с тенями и текстурами?

без теней


KilobyteДата: Понедельник, 01 Апреля 2013, 17:54 | Сообщение # 2 | Тема: Стекло в 3DRad
почетный гость
Сейчас нет на сайте
Экспортировал стекло для вагона из кетчупа. Пошли глюки, сквозное видение. Как исправить?

KilobyteДата: Четверг, 31 Января 2013, 07:16 | Сообщение # 3 | Тема: Немогу настроить скинмеш! Нужна помощь)))
почетный гость
Сейчас нет на сайте
В настройках меша есть поле Animation Set, поэкспериментируй.

KilobyteДата: Вторник, 04 Декабря 2012, 12:46 | Сообщение # 4 | Тема: Проблема со созданием подсказок в раде.
почетный гость
Сейчас нет на сайте
В EventOnLocation на связь с TextPrint ставь S/H SWITCH

KilobyteДата: Вторник, 04 Декабря 2012, 12:32 | Сообщение # 5 | Тема: Проблема со созданием подсказок в раде.
почетный гость
Сейчас нет на сайте
Написать скрипт, высчитывающий дистанцию между игроком и объектом. На этом основании показывать/скрывать подсказки.

KilobyteДата: Четверг, 01 Ноября 2012, 11:51 | Сообщение # 6 | Тема: Синхронный поворот нескольких SkinMesh
почетный гость
Сейчас нет на сайте
У меня есть код, который в дальнейшем будет системой управления огнем для БМП. Или для сотни таких) Именно поэтому я реализовал класс.

Пушки поворачиваются вместе с корпусом. Это да. Но когда корпус поворачивается, пушки должны несколько сместиться. А он торчат на месте и получается нехорошо. Поковырять надо там, где стоит отметка "ЗДЕСЬ ЗАРЫТА СОБАКА", помогите king

Что я имею:

Что должно получиться:

Что получается:


Code

int KRACKEN_CORP = OBJ_22;  //Корпус "Кракена"
int KRACKEN_RIGHT_GUN_TP3A2 = OBJ_88;  //Правый ТП3А2 "Кракена"
int KRACKEN_LEFT_GUN_TP3A2 = OBJ_110;  //Левый ТП3А2 "Кракена"

///---------КЛАСС БМП "КРАКЕН"
class KRACKEN
{                       
      Vector3 Position;                 //Позиция                    
      Quaternion Orientation;           //Ориентация
      int Number;                       //Порядковый номер
      Vector3 Target;                   //Координаты цели
      Vector3 DeltaRTP3A2Location;      //Смещение правого пулемета относительно корпуса
      Vector3 DeltaLTP3A2Location;      //Смещение левого пулемета относительно корпуса
      Vector3 RTP3A2Location;           //Положение правого пулеиета
      Vector3 LTP3A2Location;            //Положение левого пулемета
      Quaternion RTP3A2Orientation;      //Ориентация правого пулемета
      Quaternion LTP3A2Orientation;      //Ориентация левого пулемета

           //Инициализация БМП
       void Initialize(){       
        Vector3 loc2, loc3;      
        iObjectLocation(OBJ_22, this.Position);                       
        iObjectOrientation(OBJ_22, this.Orientation);  //крадем данные о положении     
        iObjectOrientation(OBJ_88, this.RTP3A2Orientation);        //из оригинала
        iObjectOrientation(OBJ_110, this.LTP3A2Orientation);      
        //ПЫЩЬ!1 ЭТУ СТРОЧКУ Я ОСТАВЛЮ, ПОЛЕЗНАЯ ДЛЯ МОЗГА                      
        //iQuaternionFromEulerAngles(this.Orientation,0,0,0,"xyz");;                        
        this.Number = 0;   //я нулевой
        iObjectLocation(OBJ_88, loc2);   //берем координаты пушек     
        iObjectLocation(OBJ_110, loc3);
        this.DeltaRTP3A2Location = loc2 - this.Position;   //и высчитываем смещения
        this.DeltaLTP3A2Location = loc3 - this.Position;
        //Теперь я существую! збс!
                          
       }                       
            //Обновление характеристик
       void Refresh(){   //даже кэп знает, что рефреш есть рефреш
iObjectImposterSet(KRACKEN_CORP, this.Number, this.Orientation, this.Position); //ставим корпус
iQuaternionMultiply(RTP3A2Orientation,RTP3A2Orientation,this.Orientation);     //складываем
iQuaternionMultiply(LTP3A2Orientation,LTP3A2Orientation,this.Orientation);//координаты пушек и корпуса, дабы получить синхронный поворот всех частей
iObjectImposterSet(KRACKEN_LEFT_GUN_TP3A2, this.Number, LTP3A2Orientation, this.LTP3A2Location);    //и раскладываем пушки
       iObjectImposterSet(KRACKEN_RIGHT_GUN_TP3A2, this.Number, RTP3A2Orientation, this.RTP3A2Location);
       }
            //Постановка на карту
       void Spawn(Vector3 spawn_loc, Quaternion spawn_or){  //СПАВН!11
       Quaternion ori;  //промежуточная, не заостряйте внимания
       iObjectImposterSet(KRACKEN_CORP, this.Number, spawn_or, spawn_loc);// спавним корпус
       this.SetPosition(spawn_loc);  //записываем все в свойства класса
       this.SetOrientation(spawn_or);
       iObjectImposterShadowEnable(KRACKEN_CORP, this.Number, true); //тени включим, что-ли
       //оружейная возня
//складываем координаты пушек
// и корпуса, дабы получить синхронный поворот всех частей
iQuaternionMultiply(this.RTP3A2Orientation,this.RTP3A2Orientation,this.Orientation);
iQuaternionMultiply(this.LTP3A2Orientation,this.LTP3A2Orientation,this.Orientation);
//расчет положения пулеметов, учитывая смещение
this.LTP3A2Location = spawn_loc + this.DeltaLTP3A2Location;
this.RTP3A2Location = spawn_loc + this.DeltaRTP3A2Location;
//ставим пушки
iObjectImposterSet(KRACKEN_LEFT_GUN_TP3A2, this.Number, LTP3A2Orientation,this.LTP3A2Location);
       iObjectImposterSet(KRACKEN_RIGHT_GUN_TP3A2, this.Number, RTP3A2Orientation, this.RTP3A2Location);

       //Я ЗАСПАВНИЛСЯ!1
       }

            //Нахождение направления на цель.О дааааааааа ВОТ ЗДЕСЬ-ТО И СОБАКА ЗАРЫТА-----------------------------
       void SetDirectionOfKracken(Vector3 target, int cam){
       Quaternion orientation;
       Vector3 up = Vector3(0,1,0);
          target.y  = 0;
          Vector3 direction = target - this.Position;
              
          iQuaternionLookAt(orientation,direction,up);//вот она, функция моей мечты
//складываем координаты пушек
// и корпуса, дабы получить синхронный поворот всех частей
      iQuaternionMultiply(this.RTP3A2Orientation,this.RTP3A2Orientation,this.Orientation);
iQuaternionMultiply(this.LTP3A2Orientation,this.LTP3A2Orientation,this.Orientation);

       this.SetOrientation(orientation);
//записываем все в свойства класса
       this.SetRTP3A2Orientation(this.RTP3A2Orientation);
       this.SetLTP3A2Orientation(this.LTP3A2Orientation);

       this.Refresh();//рефрееш
}

            //Установка позиции(Вызвыть refresh() не забудьте)
       void SetPosition(Vector3 pos){
          this.Position = pos;
       }

            //Установки ориентации(Вызвыть refresh() не забудьте)
        void SetOrientation(Quaternion ori){
          this.Orientation = ori;
       } //Установки ориентации(Вызвыть refresh() не забудьте)
        void SetRTP3A2Orientation(Quaternion ori){
          this.RTP3A2Orientation = ori;
       }
     //Установки ориентации(Вызвыть refresh() не забудьте)
        void SetLTP3A2Orientation(Quaternion ori){
          this.LTP3A2Orientation = ori;
       }

          

}                       
///----------КОНЕЦ КЛАССА БМП "КРАКЕН"

///ГЛАВНЫЙ ТЕАТР||||||||||||||||||||||||||||||||||||||||||||||||||
///|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
void Main()
{                       
       ///ПЕРЕМЕННЫЕ
       int fileHandle;
       string kracken = "";
       float kracken_col;
       Quaternion orient, ori;
       Vector3 coords, co;

        ///КОНЕЦ ПЕРЕМЕННЫХ

             //открытие файла сохранения
       if (iInitializing())
       {                       
               
          fileHandle = iFileReadOpen(".\\Save.txt");
          if (fileHandle != -1)
          {                       
             iFileStringRead(fileHandle,kracken);
             iFileClose(fileHandle);
          }                       
                //назначаем количество "кракенов"
           kracken_col = iStringVal(kracken);
//создаем массив класса "кракен"
KRACKEN [] MyKrackens(kracken_col);
//Создаем корпуса
iObjectImpostersCreate(OBJ_22,kracken_col);
iObjectImpostersCreate(OBJ_88,kracken_col);
iObjectImpostersCreate(OBJ_110,kracken_col);
//снимаем наддые положения
iObjectLocation(OBJ_44, coords);
iObjectLocation(OBJ_22, co);
iObjectOrientation(OBJ_22, ori);
//скрываем оригинал, ибо нехрен торчать посреди карты
co.y += 6;

//а теперь нитересное...нацеливаем на здание 66
for(int i=0;i<kracken_col;i++)

{      
MyKrackens[i].Initialize();                       
MyKrackens[i].Number = i;
MyKrackens[i].Spawn(Vector3(co.x+i*10 + 10, co.y, co.z + i*10 + 10), ori);
MyKrackens[i].Refresh();
MyKrackens[i].SetDirectionOfKracken(coords, OBJ_66);
}       

                          

       }                       
       }                       

Добавлено (01.11.2012, 11:51)
---------------------------------------------
Получилось!1111
iVectorRotate(this.RTP3A2Location,this.DeltaRTP3A2Location,this.Orientation);
iVectorRotate(this.LTP3A2Location,this.DeltaLTP3A2Location,this.Orientation);
this.RTP3A2Location += this.Position;
this.LTP3A2Location += this.Position;
и все)




Сообщение отредактировал Kilobyte - Четверг, 01 Ноября 2012, 11:32
KilobyteДата: Среда, 31 Октября 2012, 19:08 | Сообщение # 7 | Тема: Работа с хендлами в 3DRad
почетный гость
Сейчас нет на сайте
Кто знает, как работать с хендлами в скриптах? Я имею в виду объявление хендла, типа @handle handle;. Где-то я видел скрипт с этим делом, но благополучно забыл..

Добавлено (31.10.2012, 19:08)
---------------------------------------------
Я уже решил вопрос)
Спрашиваю себя, зачем мне нужны были хендлы, если можно просто int a = OBJ_22


KilobyteДата: Суббота, 08 Сентября 2012, 10:32 | Сообщение # 8 | Тема: Проблема с экспортом игры
почетный гость
Сейчас нет на сайте
Возможно, надо поставить флажок Include third-party runtime или что-то вроде того.

KilobyteДата: Четверг, 26 Июля 2012, 23:51 | Сообщение # 9 | Тема: Поправьте скрипт
почетный гость
Сейчас нет на сайте
Мне нужно было реализовать пользовательский тип данных) Не вышло.

KilobyteДата: Четверг, 26 Июля 2012, 05:00 | Сообщение # 10 | Тема: Поправьте скрипт
почетный гость
Сейчас нет на сайте
Quote (wing13)
Ой хитро завернул

Специально так сделал, потом понадобится и Y, и пара методов класса, пока делать не стал)


KilobyteДата: Среда, 25 Июля 2012, 00:26 | Сообщение # 11 | Тема: Поправьте скрипт
почетный гость
Сейчас нет на сайте
Ой, строчка одна неверная, не работает этот скрипт.

Quaternion orient;
Vector3 coords;
int movcoef;
Terrain[] ThePlanet(30);

class Terrain
{
// Конструктор
Terrain()
{
x = 0;
y = 0;
}
// Свойство
int x;
int y;
}

void Main()
{
movcoef = 40;

iObjectImpostersCreate(OBJ_0,30);
iObjectLocation(OBJ_0, coords);
iObjectOrientation(OBJ_0, orient);

for (int i = 0; i < 29; i++)
{
ThePlanet[i].x += movcoef;
coords.z -= movcoef;
//coords.z = ThePlanet[i].x;
iObjectImposterSet(OBJ_0,i,orient,coords);
}
}


KilobyteДата: Понедельник, 23 Июля 2012, 12:48 | Сообщение # 12 | Тема: Поправьте скрипт
почетный гость
Сейчас нет на сайте
Я написал скриптик) Должен создавать 30 клонов сектора поверхности земли SkinMesh и размещать их в линию. Но вместо этого от первого сектора отделяется второй и улетает в противоположном направлении( Что не так?

Quaternion orient;
Vector3 coords;
int movcoef;
Terrain[] ThePlanet(30);

class Terrain
{
// Конструктор
Terrain()
{
x = 0;
y = 0;
}
// Свойство
int x;
int y;
}

void Main()
{
movcoef = 40;

iObjectImpostersCreate(OBJ_0,30);
iObjectLocation(OBJ_0, coords);
iObjectOrientation(OBJ_0, orient);

for (int i = 0; i < 29; i++)
{
ThePlanet[i].x += movcoef;
coords.z -= movcoef;
//coords.z = ThePlanet[i].x;
iObjectImposterSet(OBJ_0,i,orient,coords);
}
}


KilobyteДата: Вторник, 26 Июня 2012, 22:50 | Сообщение # 13 | Тема: Координаты наведения мыши
почетный гость
Сейчас нет на сайте
Как определить обьект, на который указывет курсор? Может есть функция? Или хотя бы узнать координаты в пространстве обьекта, на который наведена мышь.

KilobyteДата: Понедельник, 04 Июня 2012, 18:36 | Сообщение # 14 | Тема: Клонирование RigidBody и SoundSource.
почетный гость
Сейчас нет на сайте
Gracias, проверю - сообщу)
Тут есть одна строчка, которую я так долго искал=)

Добавлено (04.06.2012, 18:36)
---------------------------------------------
В коде не объявлено несколько переменных, кое-где вместо zabor написано zab, и iObjectImposterGet не работает, "no mathing signatures "


KilobyteДата: Пятница, 01 Июня 2012, 08:58 | Сообщение # 15 | Тема: Клонирование RigidBody и SoundSource.
почетный гость
Сейчас нет на сайте
Да, это мне и надо=)

KilobyteДата: Среда, 30 Мая 2012, 09:32 | Сообщение # 16 | Тема: Клонирование RigidBody и SoundSource.
почетный гость
Сейчас нет на сайте
Привязать через скрипт? Как это?

KilobyteДата: Вторник, 29 Мая 2012, 08:25 | Сообщение # 17 | Тема: Клонирование RigidBody и SoundSource.
почетный гость
Сейчас нет на сайте
То есть если, например, делать толпу, то кроме SkinMesh, которые я напучкую импостер скриптом, мне придется каждому вручную ставить ригидбоди сферу тела, звуки...блин.

KilobyteДата: Понедельник, 28 Мая 2012, 21:06 | Сообщение # 18 | Тема: помогите с камерой в машине, не стоит на одном ме сте в pcar
почетный гость
Сейчас нет на сайте
Хахах, "Метод рыбки", кстати, полезная штука=)

KilobyteДата: Понедельник, 28 Мая 2012, 20:31 | Сообщение # 19 | Тема: помогите с камерой в машине, не стоит на одном ме сте в pcar
почетный гость
Сейчас нет на сайте
Все просто, надо взять стандартную рыбку и дислоцировать ее на капот перед водителем и прикрепить к машине. Затем камеру соединить с этой рыбкой и в свойствах выставить скорости перемещения и вращения в 1.

KilobyteДата: Понедельник, 28 Мая 2012, 19:41 | Сообщение # 20 | Тема: Клонирование RigidBody и SoundSource.
почетный гость
Сейчас нет на сайте
No, мне бы через скрипт, функцией iObjectImposterCreate:)

Форум игроделов » Записи участника » Kilobyte [113]
  • Страница 1 из 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг