Перейти к содержимому


Фотография

Бинокль в режиме камеры! Проблема....


Лучший Ответ vlad333000 , 15 August 2017 - 18:02

sharkman, да в в папке с миссией (в корне миссии) создаете description.ext, в него вписываете:

class RscPicture
{
  access = 0;
  type = 0;
  idc = -1;
  style = 48;
  colorBackground[] = {0,0,0,0};
  colorText[] = {1,1,1,1};
  font = "TahomaB";
  sizeEx = 0;
  lineSpacing = 0;
  text = "";
  fixedWidth = 0;
  shadow = 0;
};
class RscTitles {
  class MyRsc {
    idd = -1;

    duration = 1e+038;
    fadeIn = 0;
    fadeOut = 0;

    enableSimulation = 1;
    enableMoving = 1;

    class Controls {
      class Binocular: RscPicture {
        text = "picture.paa"; //Тут пишите путь к картинке (можно и .png, и .jpg)

        x = "safeZoneX";
        y = "safeZoneY";
        w = "safeZoneW";
        h = "safeZoneH";
      };
    };
  };
};
Далее вызываете:
"MyLayer" cutRsc ["MyRsc", "PLAIN", 0, false];
PS Если на что-то будет ругаться, напиши я уже не помню какие параметры обязательные для дисплея, арму удалил и устанавливать не хочу, поэтмоу чекнуть не могу Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 23

#1 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 сообщений
  • Откуда:Хабаровск

Отправлено 13 August 2017 - 14:28

Кто нибудь сталкивался с проблемой реализовать эффект бинокля в режиме камеры?
Строка cutrsc ["binocular","plain down",0]; некорректно выдает результат - белый экран. Рисунок прилагаю.
 
 
_camera = "camera" camcreate [8518.38,9686.64,0.7];
_camera cameraEffect ["internal", "back"];
_camera attachTo [logicCam3, [0, 0, 0]]; 
_camera camSetTarget _obj; 
_camera camPrepareFOV 0.1;
cutrsc ["binocular","plain down",0];
_camera camCommit 0;

Прикрепленные файлы


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3218 сообщений
  • Откуда:Кострома

Отправлено 13 August 2017 - 19:19

sharkman, просто "PLAIN"
  • 0

#3 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 сообщений
  • Откуда:Хабаровск

Отправлено 14 August 2017 - 14:10

sharkman, просто "PLAIN"

Пробовал, результат такой же.


  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3218 сообщений
  • Откуда:Кострома

Отправлено 14 August 2017 - 16:45

sharkman, -_- опять БЕСы что-то сломали... уже лень писать баг репорт... раз в сто попыток нормальный бинокль вылезает, вообщем найдите в интернете текстуру бинокля, которая вам по душе будет, и я объясню как сделать
  • 0

#5 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 сообщений
  • Откуда:Хабаровск

Отправлено 15 August 2017 - 17:08

sharkman, -_- опять БЕСы что-то сломали... уже лень писать баг репорт... раз в сто попыток нормальный бинокль вылезает, вообщем найдите в интернете текстуру бинокля, которая вам по душе будет, и я объясню как сделать

Пришлось самому сделать файлы. Я правда не знаю какое разрешение к ним применять... Архив прилагаю. В нем разные разрешения. 1920 на 1080   и 2160 на 1080, в формате png и paa.   paa делал в через Textue Viewer. Надеюсь правильно форматы сделал? Что дальше? я так понял в дескрипшене надо что-то прописывать? Только что?

Прикрепленные файлы


  • 0

#6 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3218 сообщений
  • Откуда:Кострома

Отправлено 15 August 2017 - 18:02   Лучший Ответ

sharkman, да в в папке с миссией (в корне миссии) создаете description.ext, в него вписываете:
class RscPicture
{
  access = 0;
  type = 0;
  idc = -1;
  style = 48;
  colorBackground[] = {0,0,0,0};
  colorText[] = {1,1,1,1};
  font = "TahomaB";
  sizeEx = 0;
  lineSpacing = 0;
  text = "";
  fixedWidth = 0;
  shadow = 0;
};
class RscTitles {
  class MyRsc {
    idd = -1;

    duration = 1e+038;
    fadeIn = 0;
    fadeOut = 0;

    enableSimulation = 1;
    enableMoving = 1;

    class Controls {
      class Binocular: RscPicture {
        text = "picture.paa"; //Тут пишите путь к картинке (можно и .png, и .jpg)

        x = "safeZoneX";
        y = "safeZoneY";
        w = "safeZoneW";
        h = "safeZoneH";
      };
    };
  };
};
Далее вызываете:
"MyLayer" cutRsc ["MyRsc", "PLAIN", 0, false];
PS Если на что-то будет ругаться, напиши я уже не помню какие параметры обязательные для дисплея, арму удалил и устанавливать не хочу, поэтмоу чекнуть не могу

Сообщение отредактировал vlad333000: 15 August 2017 - 18:09

  • 2

#7 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 сообщений
  • Откуда:Хабаровск

Отправлено 15 August 2017 - 18:54

Ура!!!!! РАБОТАЕТ!!! У меня нет слов, что бы выразить благодарность!   :clapping: Только с форматом PAA!!! Осталось только с прозрачностью разобраться. Какой параметр влияет на это. Изображение прилагаю!

Прикрепленные файлы


  • 0

#8 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3218 сообщений
  • Откуда:Кострома

Отправлено 15 August 2017 - 19:39

sharkman, этот:
colorText[] = {R, G, B, A}; //RGBA - мощность соответствующей компоненты в исходном изображении (0 - полностью отсутствует компонента, 1 - такой же мощности как в исходном изображении, 0.5 - половина, 2 - двойная и т. д.,                            //для прозрачности A = 0 - полностью невидимая картинка, 1 - с такой же прозрачностью как исходная и т. д.
Но он как бы установлен:
{1, 1, 1, 1}
Что означает полностью исходную картинку, там только прозрачность самой картинки будет влиять (Еще так же могут скрипты, но врятли у вас какой-то кривой скрипт стоит, который дисплеи делает прозрачными)

PS Забыл одну вещь: разрешение любого .paa должно быть 2 в какой-то степени: 512x1024 2048x2048 256x256 4096x512 и т. д.

Сообщение отредактировал vlad333000: 17 August 2017 - 11:01

  • 0

#9 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 сообщений
  • Откуда:Хабаровск

Отправлено 17 August 2017 - 01:48

sharkman, этот:

colorText[] = {R, G, B, A}; //RGBA - мощность соответствующей компоненты в исходном изображении (0 - полностью отсутствует компонента, 1 - такой же мощности как в исходном изображении, 0.5 - половина, 2 - двойная и т. д.,
                            //для прозрачности A = 0 - полностью невидимая картинка, 1 - с такой же прозрачностью как исходная и т. д.
Но он как бы установлен:
{1, 1, 1, 1}
Что означает полностью исходную картинку, там только прозрачность самой картинки будет влиять (Еще так же могут скрипты, но врятли у вас какой-то кривой скрипт стоит, который дисплеи делает прозрачными)

PS Забыл одну вещь: разрешение любого .paa должно быть кратно 2 в какой-то степени: 512x1024 2048x2048 256x256 4096x512 и т. д.

 

 

Для эксперимента вывел на экран черный круг. Прозрачность осталась. 

Прикрепленные файлы


  • 0

#10 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3218 сообщений
  • Откуда:Кострома

Отправлено 17 August 2017 - 10:55

sharkman, круг у вас идеальный, а значит вы не выполнили/прочитали то что я написал про разрешение, это обязательно для Армы, без этого она обязательно будет путать какие-либо каналы
  • 0

#11 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 сообщений
  • Откуда:Хабаровск

Отправлено 17 August 2017 - 11:12

sharkman, круг у вас идеальный, а значит вы не выполнили/прочитали то что я написал про разрешение, это обязательно для Армы, без этого она обязательно будет путать какие-либо каналы

На трафарете бинокля я использовал разрешение 2160 на 1080, кратное вроде. Буду эсперементировать с другими разрешениями. Спасибо!


  • 0

#12 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3218 сообщений
  • Откуда:Кострома

Отправлено 17 August 2017 - 11:20

sharkman, *поправочка равное, разрешение по обеим координатам должно быть равное 2 в степени (Не обязательно одинаковые по x и y)

Сообщение отредактировал vlad333000: 17 August 2017 - 11:20

  • 1

#13 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 сообщений
  • Откуда:Хабаровск

Отправлено 17 August 2017 - 18:42

sharkman, *поправочка равное, разрешение по обеим координатам должно быть равное 2 в степени (Не обязательно одинаковые по x и y)

 

Огромное спасибо за профессиональную консультацию и неоценимую помощь! 

Прикрепленные файлы


  • 0

#14 OFFLINE   Подонак

Подонак

    Ефрейтор

  • Пользователи
  • 48 сообщений
  • Откуда:Якутия

Отправлено 09 December 2018 - 14:18

Приветствую, подниму темку, подскажите как от этого избавиться, разрешение картинки в раа 1024х512, разрешение монитора 1280х1024, в дискрипшене везде стоит safeZone. я так полагаю на прямоугольных мониторах всё будет нормально а на квадратном видимо таким сжатым. 

Прикрепленные файлы

  • Прикрепленный файл  1ww.jpg   55.79К   0 Количество загрузок:

Сообщение отредактировал Подонак: 09 December 2018 - 14:20

  • 0

#15 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3218 сообщений
  • Откуда:Кострома

Отправлено 09 December 2018 - 15:29

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

получаете соотношение сторон, далее через

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

и

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

подгоняете картинку под необходимое соотношение сторон и в конце с помощью других элементов закрываете фоном образовавшиеся просветы(Или меняете картинку из списка заранее подготовленных под все соотношения сторон)

Сообщение отредактировал vlad333000: 09 December 2018 - 21:08

  • 0

#16 OFFLINE   Подонак

Подонак

    Ефрейтор

  • Пользователи
  • 48 сообщений
  • Откуда:Якутия

Отправлено 10 December 2018 - 18:47

Подонак, у вас явно не понимание что такое safeZone - это не некая обстрактная область, в которой все нормально, а пределы текущего разрешения - при текущей ситуации на мониторах 16:9 - все нормально, 5:4 - точеный вертикальный пик, 32:9 - что и при 5:4, но горизонтальный и т д. Для решения этого используйте один или оба следующих метода:
1. Вместо обычного RscPicture используйте RscPictureKeepAspect
2. В скрипте инициализация с помощью команды

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

получаете соотношение сторон, далее через

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

и

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

подгоняете картинку под необходимое соотношение сторон и в конце с помощью других элементов закрываете фоном образовавшиеся просветы(Или меняете картинку из списка заранее подготовленных под все соотношения сторон)

Влад, спасибо вам за потраченное время, вы меня выручали уже не раз. Я понял что одна картинка не может соответствовать и 16х9 и 4х3. Правильно? 


  • 0

#17 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3218 сообщений
  • Откуда:Кострома

Отправлено 10 December 2018 - 20:51

Подонак, только заливка одним цветом будет соответствовать :)
  • 0

#18 OFFLINE   nIkRon

nIkRon

    Сержант

  • Пользователи
  • 179 сообщений
  • Откуда:Донецк

Отправлено 11 December 2018 - 01:11

Подонак,Ну почему же ? Может.
Точно не скажу как, нужно проверять, но когда мне нужно было, я это сделал.

Лучше прикрепите картинку, я еще разок разберусь с этой темой, лишним не будет, в будущем может пригодится, как раз нужно будет интерфейсами заниматься.


Сообщение отредактировал nIkRon: 11 December 2018 - 01:13

  • 0

#19 OFFLINE   nIkRon

nIkRon

    Сержант

  • Пользователи
  • 179 сообщений
  • Откуда:Донецк

Отправлено 11 December 2018 - 01:46

Так, попробуйте вот так:
 

x="safezoneX";
y="safezoneY";
w="safezoneW";
h="safezoneW * 4/3";

и создайте файл 2048x2048, а картинку вставьте сверху разрешением 2048х1540. Пример прикрепил(где белое = картинка, черное = пустой ненужный фон).
 


Или же еще один вариант:
Сделайте картинку 1920x1080, оставьте её в jpg
и с таким кодом:
 

x="0 * safezoneW + safezoneX";
y="0 * safezoneH + safezoneY";
w="1 * safezoneW";
h="1 * safezoneH";

Прикрепленные файлы

  • Прикрепленный файл  test.jpg   25.03К   0 Количество загрузок:

Сообщение отредактировал nIkRon: 11 December 2018 - 01:44

  • 0

#20 OFFLINE   Подонак

Подонак

    Ефрейтор

  • Пользователи
  • 48 сообщений
  • Откуда:Якутия

Отправлено 12 December 2018 - 18:44

Картинка вот. 

x="0 * safezoneW + safezoneX"; это не помогло(

RscPictureKeepAspect с этим ещё не разобрался(

Прикрепленные файлы

  • Прикрепленный файл  Binokular.png   167.66К   0 Количество загрузок:

Сообщение отредактировал Подонак: 12 December 2018 - 18:44

  • 0




Яндекс.Метрика