06 Января 2018
51

Обмен подарками. Днепр - Харьков

Свой подарочек от замечательной снегурочки из Днепра я забрала уже после НГ и сражу же помчалась домой открывать.

Обмен подарками. Днепр - Харьков Обмен подарками, Тайный Санта, Новый Год, Длиннопост

Открываем коробочку, а там...

Обмен подарками. Днепр - Харьков Обмен подарками, Тайный Санта, Новый Год, Длиннопост
Обмен подарками. Днепр - Харьков Обмен подарками, Тайный Санта, Новый Год, Длиннопост

Книга о Шерлоке Холмсе на английском, свеча ручной работы, магнит с городом Днепр (уже на холодильнике), новогодние приятности в виде дождика и леденца, и очень милая коробочка с совушками с безумно ароматными пряничками внутри.

Спасибо снегурочке Юле за такой отличный подарок и праздничное настроение!

Показать полностью 3
6

Что это за линзы, или от чего?

Разбирали запасы, нашли линзы и диафрагму (или как там название).

Ввел в поисковике "Линзы СССР" - итог нулевой:(

Нет представления от чего и для чего это все.


Лига знающих и умных, выручи! Подскажите, кто видел такие же или знает от чего, и что с ними делать.

Что это за линзы, или от чего? Помощь, Что это?, Линзы, Длиннопост
Что это за линзы, или от чего? Помощь, Что это?, Линзы, Длиннопост
Что это за линзы, или от чего? Помощь, Что это?, Линзы, Длиннопост

ЗЫ. Фоткал на одну из линз, сильно не пинайте.

ЗЗЫ. Пару комментов для минусов и еще доп. фотки внутри.

Показать полностью 3
63

Бог создал камень, который не может поднять и поднял

Бог создал камень, который не может поднять и поднял Религия, Наука и религия, Юмор, Парадокс, Атеизм, Бог, Без обид, Туннельный эффект, Длиннопост

"Статья в первую и последнею очередь юмористическая".


Пришел как-то скептик в рай, а на встречу ему Бог.


«Говорят, что ты всемогущий. Правда ли это?»: спросил скептик.


«Правда»: отвечает Бог.


«Тогда создай камень, который ты не сможешь поднять, а потом подними его.»: ухмыльнулся самодовольной ухмылкой хитрец.


«Хорошо»: ответил создатель. Из ниоткуда вдруг материализовался камень. После сего чуда творец взял, да поднял камень.


«Ага»: обрадовался скептик: «Ты создал камень, который можешь поднять. Ты не всемогущий.»


«Вообще-то камень я поднять не могу»: спокойно ответило Божество: «Этот феномен называется Туннельный эффект.»


«То есть?» опешил скептик.

Бог создал камень, который не может поднять и поднял Религия, Наука и религия, Юмор, Парадокс, Атеизм, Бог, Без обид, Туннельный эффект, Длиннопост

Туннельный эффект или туннелирование – это прохождение частицы (или системы) сквозь область пространства, пребывание в котором запрещено классической механикой. Один из примеров: прохождение частицы сквозь потенциальный барьер, когда ее энергия Е меньше высоты барьера U0. В классической физике это невозможно. Частица не может оказаться в области такого барьера или пройти сквозь нее. Это идет в разрез с законом сохранения энергии.



Но вот в квантовой физике это возможно, так как ситуация совершено другая. Квантовая частица не движется по какой-либо определенной траектории. Поэтому можно лишь говорить о вероятности нахождения частицы в определенной области пространство. Формула: ΔрΔх > ћ. При этом у потенциальной и кинетической энергий нет определённого значения в соответствии с принципом неопределенности.



Допускается отклонение от классической энергии Е на величину ΔЕ в течение интервалов времени t, даваемых соотношением неопределённостей ΔЕΔt > ћ (ћ = h/2π, где h – постоянная Планка).

Бог создал камень, который не может поднять и поднял Религия, Наука и религия, Юмор, Парадокс, Атеизм, Бог, Без обид, Туннельный эффект, Длиннопост
Возможность прохождения частицы сквозь потенциальный барьер обусловлена требованием непрерывной волновой функции на стенках потенциального барьера. Вероятность обнаружения частицы справа и слева связаны между собой соотношением, зависящим от разности E - U(x) в области потенциального барьера и от ширины барьера x1 - x2 при данной энергии.
Бог создал камень, который не может поднять и поднял Религия, Наука и религия, Юмор, Парадокс, Атеизм, Бог, Без обид, Туннельный эффект, Длиннопост

Проникновение сквозь барьер носит вероятностный характер. Частица с Е < U0, натолкнувшись на барьер, может либо пройти сквозь него, либо отразиться. Суммарная вероятность этих двух возможностей равна 1. Если на барьер падает поток частиц с Е < U0, то часть этого потока будет просачиваться сквозь барьер, а часть – отражаться.



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

Бог создал камень, который не может поднять и поднял Религия, Наука и религия, Юмор, Парадокс, Атеизм, Бог, Без обид, Туннельный эффект, Длиннопост

«Вот так вот»: сказал Бог: «Если уж маленькая частица может преодолеть непреодолимый для нее барьер, то почему же я, создатель этого закона не могу поднять неподъёмный для меня камень?»


«Ясно»: уныло ответил скептик: «Никогда не был силен в квантовой механике. Но раз уж я здесь можно мне в рай?»


«Нет»: ответил Господь. Разве не сказал тебе Иисус в книге Матфея не искушай Господа Бога твоего?


«Я…э…ну»: неизвестно что еще хотел сказать скептик, но в тот же вмиг со скоростью пули он с размаху шлепнулся с небес в котел.



Мораль сей басни такова: неважно атеист вы или христианин, агностик или мусульманин; Если уж так получилось, что вы предстали пред Богом, не выпендривайтесь. Хуже будет только вам. А ну и квантовая физика интересная вещь.

Бог создал камень, который не может поднять и поднял Религия, Наука и религия, Юмор, Парадокс, Атеизм, Бог, Без обид, Туннельный эффект, Длиннопост

Ссылки

http://days.pravoslavie.ru/Bible/Z_mf_4_25________5__12.htm



https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D0%BD%D0%BD%D0%B5...



http://nuclphys.sinp.msu.ru/enc/e169.htm



картинки из интернета



Кстати последняя картинка, это Якутия. Это не намек про ад, а просто класное место.

Показать полностью 5
24

Туториалы для геймдева #1 Локализация и Класс Logic

Привет, Пикабу! Пока писал эту часть, понял что из разбивки которую сразу наметил этот пост получится слишком маленьким, решил объеденить две темы.


Этот пост НЕ претендует на Каноничность, Идеальность кода и архтектуры. Тут могут быть рассказаны не самые аккуратные и эффективные решения. Это просто некоторый набор советов, которые я сам использую, и это облегчает мне жизнь.


Рекомендуется прочтение предыдущего поста: https://pikabu.ru/story/tutorialyi_dlya_geymdeva_0_staticdat...

Logic


Класс Logic это некое сборище полезных и часто используемых функций и хинтов которые едины для всего проекта, а копировать их код в несколько мест не хочется.


Сейчас объясню попонятнее.


Представьте что у вас есть БОЛЬШОЙ и глобальный класс, который хранит текущее состояние игры - (например этот класс потом уходит в сейв). У него есть параметр ЗОЛОТО.  При этом этот параметр изменяется подбором лута, магазином и т.д.


В таком случае в каждом классе вы пишете что-то вроде:


Logic.AddGold(50); \\использовать его можно также как и StaticData

Вопрос - А почему бы также не обращаться сразу к классу для сейва?


Имхо самый правильный ответ, это почему вместо:


public int a;


пишут:


public int a {get; set;};


Т.е. правильное управление доступом. В классе сейвов по хорошему должны быть только серриализуемые переменные.


Если вы не поняли что делает "public int a {get; set;};" и зачем оно может использоваться, то вот простое объяснение: Идеологически так сложилось.

Туториалы для геймдева #1 Локализация и Класс Logic Gamedev, Туториал, Мануалы, Tutorialsgamedev, Unity, Программирование, Csharp, Длиннопост

И ещё пара маленьких плюсов от класса Logic.


1)Удобно управлять рандомом. Как всем известно настоящего рандома в играх нет. Logic позвляет аккамулировать все события которые могут использовать рандом и вы можете напрямую контролировать их порядок вызова.


Пример (простой, но высосаный из пальца):


У вас есть два коллайдера, происходет столкновение. У обоих есть onHit ивент.


Оба что-то делают, вызывая рандом. Никто не гарантирует вам порядок вызова этих ивентов. Т.е. если вы перезагрузите игру результат столкновения может быть другим.


Logic же получит оба ивента, отсортирует их (например сначала всегда обрабатывается вызов от игрока, потом от объекта с которым он столкнулся).


2)Удобно хранить ивенты в одном классе. И точно также удобно вешать на них слушателей. Не надо бегать по 20 классам и смотреть, а убрал ли я всех слушателей, а везде ли ивент сработал  так далее.

Туториалы для геймдева #1 Локализация и Класс Logic Gamedev, Туториал, Мануалы, Tutorialsgamedev, Unity, Программирование, Csharp, Длиннопост

Переходим к локализации.


Когда-нибудь вы соберётесь переводить игру на другие языки. Или сразу будете делать скажем на английском и русском. Вам потребуется как-то аккуратно хранить текст. Аккуратно - это значит в таблице) Создаём лист с названием Texts.

Туториалы для геймдева #1 Локализация и Класс Logic Gamedev, Туториал, Мануалы, Tutorialsgamedev, Unity, Программирование, Csharp, Длиннопост

Собственно всё также как и в остальных листах. Разве что удобнее превращать не в список объектов кастомных классов, а в список словарей (DICTIONARY) например. А потом вытаскивать по названию языка, но это детали.


Помимо удобства использования это даёт нам удобство перевода. Исправление ошибок, муки выбора надписей.


\\Мы как-то раз недел жонглировали именами ACCEPT, ACCEPT JOB, OK. Представьте какой ад был бы если бы надо было лезть в редактор и везде править названия, а тут геймдизу даже не надо пинать программистов. Сел и поменял поле в таблице.


А также с таблицей могут работать переводчики! Естественно вы не пустите их в код, а вот перевести строки таблицы они вполне способны.


Также бонусом идёт то, что Unity UI (и UI Widget в UE4) поддерживают Rich Text, а значит мы можете сделать шрифты жирными или цветыми прямо в таблице.

Итак, как с этим работать.

Туториалы для геймдева #1 Локализация и Класс Logic Gamedev, Туториал, Мануалы, Tutorialsgamedev, Unity, Программирование, Csharp, Длиннопост

Ну собственно аналогично Logic и StaticData. Заметьте, что мы не передаём язык, о текущем языке всё знает сам Localizer. Он уже выдаст нам текущую строку.


На объекте с текстом висит вот скрипт TextLocalizer, в который мы передаём какие-то значения и он уже сам решает как их заполнить. Например обратите внимание на #VAL0 в строке с золотом. Вот как я с ними работаю:

Туториалы для геймдева #1 Локализация и Класс Logic Gamedev, Туториал, Мануалы, Tutorialsgamedev, Unity, Программирование, Csharp, Длиннопост

Передали список значений, и они сами обновились.


Главное не забудтье в редакторе прописать публичное поле KeyName нужным вам ключом)

Вопрос, а как инициализировать стартовые значения всяких кнопок ОК, EXIT и т.д.


Элементарно,Ватсон!


Вешаем на текстовый объект наш TextLocalizer. Прописываем ему соответствущй ключ. Он при старте вызывает SetValues(null); И текс записался. Всё)

Туториалы для геймдева #1 Локализация и Класс Logic Gamedev, Туториал, Мануалы, Tutorialsgamedev, Unity, Программирование, Csharp, Длиннопост

Ну и последняя заметка - Смена языка. Есть 2 способа, простой и сложный.


Простой: При старте игры игрок выбирает язык, он устанавливается в TextLocalizer и дальше работает всё вышеописанное. После игрок язык уже не может поменять.


Сложный: в Logic создаётся ивент смены языка, и его слушает TextLocalizer, меняет язык в себе и вызывает ивент обновления текстов на интерфейсах. Интерфейсы этот ивент слушают и вызывают SetValues от последних запоменных значений.


Надеюсь это поможет кому-то с архитектурой проекта) Спрашивайте что не понятно) Остался ещё 1 пост наверное)

Показать полностью 6
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите