Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Unity, C#

3133  1 2 3 4 5 6 7 8 9 10 все
alex445 коренной житель18.08.22 01:03
NEW 18.08.22 01:03 
в ответ AlexNek 17.08.22 22:12, Последний раз изменено 18.08.22 01:08 (alex445)
Ходить по "квадратикам" и слушать высказывания интересно в первые секунды. Хотя может еще всего не нашел.

Самое простое, что приходит в голову - игра наподобние дейтсимов или визуальных романов. Там надо ходить по стилизованным "квадратикам" и слушать или читать диалоги. Минимум графики, примитивное программирование - в основном деревья выбора диалогов и квадратики с текстом.


https://en.wikipedia.org/wiki/Dating_sim

https://en.wikipedia.org/wiki/Visual_novel

#41 
alex445 коренной житель18.08.22 01:06
NEW 18.08.22 01:06 
в ответ Petrovi4 17.08.22 22:30
С версиями - пока не менял. Портировать можно - есть выбор, но когда понадобилось под айос, не вышло.

Про портирование я имел ввиду - можно ли перетащить схему с блупринтами из Анрила в скажем Юнити или Край Энджин, или наоборот. Что делать, если Анрил вдруг сдохнет или станет платным, а вы уже кучу блупринтов понаделали? Вот на С++ или C# что написал - это много где применить можно, просто скопировав код или вынеся всё в подключаемые библиотеки.

#42 
AlexNek патриот18.08.22 12:17
AlexNek
NEW 18.08.22 12:17 
в ответ alex445 18.08.22 01:06
Вот на С++ или C# что написал

не стоит забывать, что непрограммисту 3Д на ЯП будет очень сложно освоить. А тут раз два и готово. Тем более, что основная ценность работы в данных.

#43 
AlexNek патриот18.08.22 12:33
AlexNek
NEW 18.08.22 12:33 
в ответ Petrovi4 17.08.22 22:43
Я, увы, не программист.

ну это вы сказали в самом начале, я просто пытался объяснить точку зрения с "нашей/моей" стороны.

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

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

Я бы расположил картинку геймпада, клавиатуры и перечеркнутую мышку (видимо с ней непросто будет) на главном экране.


Это тренинг. Каждый триггер вызывает свой диалог. Один диалог повторяется в четырёх формах времени.

Это не видно визуально. Я просто теряюсь на каждом уровне, нет ни дороги ни каких либо маркеров для привязки. Даже цвет/форма "клетки" для выхода не отличается от всех остальных


Прослушав диалог повторить его

Каким образом? Ходить туда сюда неудобно.


Мною написано более 200 уроков. Продолжаю писать дальше.

Просто замечательно, больших успехов. Но хотелось бы увидеть это и в "нормальной форме".

#44 
Petrovi4 старожил18.08.22 13:20
Petrovi4
NEW 18.08.22 13:20 
в ответ alex445 18.08.22 01:06

Да, примитивные диалоги были ещё на первых компах, на Синклере например. Только кроме текстов и звуков имитации речи больше ничего не было.

Да и не могло быть. Я решил совместить игровой процесс с процессом обучения языку. Но если в игре к повтору диалога путь закрыт, разве что через

полное повторение уровня, хотя не всегда, то у меня каждый диалог можно тут же повторить. В самом диалоге можно повторить фразу, спуститься по

дереву диалога вниз или подняться вверх.

Портирование наверняка возможно. Ведь блупринты написаны на базе С++.

Для большинства юзеров на самом деле нужна версия под андроид. Со временем сделаю. Анрил позволяет. Но сначала нужно эту довести до ума.

Что до методики обучения, то упор сделан на тренировку. Программа не учит грамматике. Это тренажёр. Материалов по обучению языкам много,

ютуб забит блогерами. Но у них линейный формат, когда невозможно тут же повторить фразу по нажатию кнопки. А перетаскивая ползунок плеера,

никак не попадёшь на то же место.

#45 
Petrovi4 старожил18.08.22 13:54
Petrovi4
NEW 18.08.22 13:54 
в ответ AlexNek 18.08.22 12:33

Спасибо. Программа ещё не готова и потому там мелькает надпись TEST. Всё упёрлось в озвучку, которая тормозит процесс выхода релиза.

Хотя, до полного релиза пройдёт ещё не один год. Но как минимум нужно наполнить первое меню в 25 уроков.

Цель тестовой версии выявить ошибки и дать возможность начать заниматься тем, кому это важно, не ожидая релиза.

Без геймпада тоже можно заниматься, хотя это и не очень удобно. Кто возьмёт в руки геймпад, уже не захочет работать с клавиатурой.

Конечно, это может стать препятствием для тех, кто не сможет обзавестись геймпадом. Но это обязательное условие для погружение

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

Прослушав диалог повторить его.
Каким образом? Ходить туда сюда неудобно.

В диалоге ходить никуда не нужно. Один диалог - один триггер. Вошёл в него и жми на интер. Пробел - повтор фразы.

Сейчас ещё добавил кнопку возврата на фразу назад. То есть весь диалог можно гонять туда-сюда в одном триггере.

Один диалог повторяется в каждом триггере, но в разных формах времени.

Известный термин довести до автоматизма, я меняю на довести до рефлекса. Когда мы разговариваем, то не обращаем внимание на то,

что иногда отвечаем сразу, моментально, не дослушав собеседника до конца, перебивая его. Это и есть говорить на рефлексах.

Мы всегда говорим короткими фразами заготовками, которые закреплены в нашей памяти. А уже из них создаём конструкции, меняющие

смыслы. Мы всё помним. Бэбиками начинаем говорить слогами, потом запоминаем слова, куски фраз. Так же и любой иностранный язык

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

О том как работать с программой будет дополнительная информация. Для этого я сделаю вводной видеоролик и выложу его на ютуб.

А в самой игре будет вводной урок, в котором вместо немецкого будет обучение работе с программой.

Маркеры и подсказки добавлю.

#46 
AlexNek патриот18.08.22 21:48
AlexNek
NEW 18.08.22 21:48 
в ответ Petrovi4 18.08.22 13:54
кто не сможет обзавестись геймпадом

Дело не в том можешь или нет. А в том хочешь ли ты им пользоваться в принципе, тем более, ради одной программы.


Вошёл в него и жми на интер. Пробел - повтор фразы.

Вот именно с этого и стоило начать. И смысл появился, и диалоги.


Маркеры и подсказки добавлю.

Замечательно, а то я никак не пойму куда нужно идти

#47 
AlexNek патриот19.08.22 12:41
AlexNek
NEW 19.08.22 12:41 
в ответ Petrovi4 18.08.22 13:54

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

Нахожусь в "диалогах" - а тут письмо пришло или гуглу вдруг спросить захотелось - а фигвам, нужно только выходить. А потом долго и нудно искать где был в последний раз.

#48 
alex445 коренной житель19.08.22 18:20
NEW 19.08.22 18:20 
в ответ AlexNek 18.08.22 12:17, Последний раз изменено 19.08.22 18:37 (alex445)
не стоит забывать, что непрограммисту 3Д на ЯП будет очень сложно освоить. А тут раз два и готово.

Всё то же самое. Что значит "раз, два и готово"? С блупринтами - там сотни и тысячи разных типов прямоугольничков, и нужно знать, что с чем стыкуется. Каждый прямоугольничик что ваш класс (или объект) в языке программирования (под капотом так оно и есть). И от того, что вы программируете визуально, вам легче не становится. Это всё та же идея визуального программирования, которая почила в бозе для бизнес-приложений, разных форм и прочего. А у тридешников просто с опозданием история повторяется. Ну и с шейдерами там сейчас так - они слишком переусложнённые и низкоуровненвые даже в последней версии какой-нибудь Shader Model, поэтому иногда проще делать на блупринтах. Модель подготовки и передачи данных в шейдер и из шейдера - как в каком-то С или ассемблере. Где функции, где параметры нормальные почему нет подсказок нормальных и выбора из готовых значений (типа энумы). Почему я должен забивать руками какие-то монструозные структуры, держа открытыми кучи справочников, чтобы знать, какие значения бывают и как их наполнять? Что это за нечитаемый бред?


Shader "Standard" {

Properties {

_Color ("Color", Color) = (1.000000,1.000000,1.000000,1.000000)

_MainTex ("Albedo", 2D) = "white" { }

_Cutoff ("Alpha Cutoff", Range(0.000000,1.000000)) = 0.500000

_Glossiness ("Smoothness", Range(0.000000,1.000000)) = 0.500000

_GlossMapScale ("Smoothness Scale", Range(0.000000,1.000000)) = 1.000000

[Enum(Metallic Alpha,0,Albedo Alpha,1)] _SmoothnessTextureChannel ("Smoothness texture channel", Float) = 0.000000

}

SubShader {

LOD 300

Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }

Pass {

Name "FORWARD"

Tags { "LIGHTMODE"="FORWARDBASE" "SHADOWSUPPORT"="true" "RenderType"="Opaque" "PerformanceChecks"="False" }

ZWrite [_ZWrite]

Blend [_SrcBlend] [_DstBlend]

#49 
Petrovi4 старожил19.08.22 18:28
Petrovi4
NEW 19.08.22 18:28 
в ответ AlexNek 19.08.22 12:41

Не успеваю. Насчёт геймпада. Захочешь тренировать немецкий по-настоящему, потратишься. Это динамика. Лимба это моторика пальцев. Здорово помогает кортексу, когда он закипает.

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

Вчера написал сценарий вводного урока с объяснениями как работать с прожкой. Куда ходить, что жать. Добавил выход на искэйп. Работает.

#50 
Petrovi4 старожил19.08.22 18:36
Petrovi4
NEW 19.08.22 18:36 
в ответ alex445 19.08.22 18:20

Это точно. Я уже второй год грызу предмет по теме. И сам бы я ничего не сделал. Помогали. Правда, народ в основном только в бегать, прыгать и стрелять шарит.

#51 
uscheswoi_82 коренной житель19.08.22 19:24
uscheswoi_82
NEW 19.08.22 19:24 
в ответ Petrovi4 16.08.22 03:01
Я начинал с юньки в 17-м году. Ох и попил он мне крови. Потом резко перешёл на анриал. Там программинг на блупринтах. Это намного круче чем болт. Хотя, может его уже подтянули, но если вы ещё мыслите кодами C#, то нет.

Я просто так хочу изучить Unity, потом поделюсь со всем миром своими знаниями. У меня ноут Unreal Engine не потянет - Core i5, 8GB, 100GB SSD+900GB HDD+Geforce GTX (точно номер не помню). Многие делают мобильные игры на юнити, и зарабатывают очень много на рекламе, и за платные услуги - допустим аксексуары - платные скины.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#52 
AlexNek патриот19.08.22 21:37
AlexNek
NEW 19.08.22 21:37 
в ответ Petrovi4 19.08.22 18:28, Последний раз изменено 20.08.22 17:28 (AlexNek)
Насчёт геймпада. Захочешь тренировать немецкий по-настоящему, потратишься

Не думаю. Может на выходных покажу, как можно свободно без него обходится.


Не знаю как с этим бороться.

Не уверен, что Unreal на это способна, она скорее всего не умеет в окне работать или хотя-бы мышу отдать.


Я вот сейчас с первым диалогом играюсь "Wer bist du" - очень хорошо всё сделано.

#53 
AlexNek патриот19.08.22 21:40
AlexNek
NEW 19.08.22 21:40 
в ответ alex445 19.08.22 18:20
Что это за нечитаемый бред?

Не имею понятия, где это можно найти, на скриншотах я видел только "квадратики".


#54 
uscheswoi_82 коренной житель19.08.22 22:12
uscheswoi_82
NEW 19.08.22 22:12 
в ответ AlexNek 19.08.22 21:37
Не уверен, что Юнити на это способна, она скорее всего не умеет в окне работать или хотя-бы мышу отдать.

У всех нормальных игровых движках хоть в старых, хоть в новых разделяются на методы Init, Paint, Keyboard, KeyPad, Mouse. В методе Init происходит инициализация и подгрузка чего-ниубдь (3D моделей, текстур, аудио, музыка), в методе Paint рисует, метод постоянно вызывается как-будто от таймера, в методах Keyboard, KeyPad, Mouse ловите нажатие кнопок. Чтобы передать в метод Paint какую нажали кнопку, нужно завести глобальную переменную и передавать код кнопки в методах Keyboard, KeyPad, Mouse а в методе Paint считываете код клавиши из глобальной переменной.


Допустим в колледже мы изучали библиотеку FreeGlut простой пример, нужно зарегистрировать Callback-функции:

int main(int argc, char **argv) {
    // init GLUT and create window
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
    glutInitWindowPosition(100,100);
    glutInitWindowSize(320,320);
    glutCreateWindow("Lighthouse3D- GLUT Tutorial");
        // register callbacks
    glutDisplayFunc(renderScene);
    glutReshapeFunc(changeSize);
    glutIdleFunc(renderScene);
    // here are the new entries
    glutKeyboardFunc(processNormalKeys);
    glutSpecialFunc(processSpecialKeys);
    // enter GLUT event processing cycle
    glutMainLoop();
    return 1;
}


В Callback-функции glutDisplayFunc обрабатываетсся графика, а в Callback-функции glutKeyboardFunc обрабатывается нажатие клавиши.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#55 
AlexNek патриот20.08.22 17:35
AlexNek
NEW 20.08.22 17:35 
в ответ Petrovi4 19.08.22 18:28

Сделал я свой тестовую прогу на ваших данных. Мне так намного привычнее. Специально не пишу никакого описания, для теста, получится ли найти все функции. Там конечно, только один маленький кусочек.

https://tutorde202208.azurewebsites.net/


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


#56 
AlexNek патриот20.08.22 17:36
AlexNek
NEW 20.08.22 17:36 
в ответ uscheswoi_82 19.08.22 22:12
В Callback-функции glutDisplayFunc обрабатываетсся графика,

Я вообще то ошибся, имея в виду Unreal, но связи никакой не вижу между тем, что нужно и тем что написано.

#57 
uscheswoi_82 коренной житель20.08.22 18:08
uscheswoi_82
NEW 20.08.22 18:08 
в ответ Petrovi4 17.08.22 14:14
Системные требования для вашего компьютера, при которых тренажёр заработает:

AlexNek показал скриншоты вашего тренажора, и я вспомнил раньше во второй половине 90х была игра Addy для детей, там учили разным предметам. Я эту игру где-то в 2004 году купил.


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#58 
alex445 коренной житель20.08.22 18:35
NEW 20.08.22 18:35 
в ответ uscheswoi_82 20.08.22 18:08, Последний раз изменено 20.08.22 18:48 (alex445)

О, этот дизайн 90-х и начала 2000-х, когда градиентная заливка на фон кнопки считалась супер-пупер графической примочкой. А уж если градиент не прямой, а какой-нибудь радиальный, то вообще атас. И пофиг, что этот градиент не стыкуется с окружающим дазайном - главное, зафинтилить "модную" кнопку поверх всего.


Офф - зачем они трясут пачками и прислушиваются (видео с канала, где видео про Addy)? (Я тоже трясу и тоже прислушиваюсь.)

Пфф, драй кило, блин! Щас по 5-7 кило нормально.

#59 
Petrovi4 старожил21.08.22 11:09
Petrovi4
NEW 21.08.22 11:09 
в ответ AlexNek 20.08.22 17:35

Пошёл по ссылке, но там только этот текст. Никакой активности.

Hello, world!

Welcome to your new app, Tutor for German language!

#60 
1 2 3 4 5 6 7 8 9 10 все