Ресурсы для крафта на дороге не валяются, руду полагается добывать в шахте, где очень темно. Для общей ориентировки я посадил там светящиеся грибочки, а чтобы персонажу жизнь медом не казалась, подселил туда пауков. Будет слишком много счастья, если сразу предоставить ружье с фонариком. Для начала пусть тренируется с примитивным факелом, благо, им можно пользоваться как дубиной. Ожидаемо, что при ударе на врагов будет попадать горящая смола, отчего буквально каждой неписи в игре пришлось приаттачить ту же самую систему частиц, как и к факелу. Но все же, основной функционал факела - освещение, а света от системы частиц совсем ничего. Значит, кроме огня к факелу надо приделать источник света, и было бы странно, если это будет Spot Light. Чтоб было натурально, нужен Point Light, свет от которого распространяется как-то совсем недалеко. Решение проблемы виделось простое: сместить источник света немного вперед по оси X.
Результат был проверен на практике, причем это "немного" в пересчете с Анрила в реал оказалось девять метров. Как ни странно, в игре такой свет выглядит вполне нормально. Точкой привязки служит вершина факела, и когда персонаж им машет, лампочка движется синхронно с ударом.
А еще свет от факела должен мерцать. Сделать его красным легко, но мерцание, надо заметить, довольно сложный процесс.
Чтоб было загадочно и таинственно, и даже немного страшно, огонь должен временами ощутимо пригасать, но одновременно должны быть слабые, но частые сполохи. Заводить это дело на Event Tick - крайне дурной тон программирования. По хорошему это делается через функцию материала. То есть, создаем в проекте "Material Function", и рисуем вот такое:
Цифры, на которые умножается Time - устанавливают частоту. Верхняя линейка - для медленного и глубокого мерцания, нижняя - для частого слабого подмигивания. Sine - это в самом деле синус, его дело - меняться от нуля до единицы. Frac - чудесная нода, которая просто и изящно добавляет в процесс рандом. Clamp - ограничитель амплитуды, здесь устанавливаем, насколько сильно огонь гаснет. Добавляем одно к другому - и готово реалистичное мерцание пламени. В материале ставим ноду "Material function call" в его свойствах выбираем имя, которым обозвали наш Function Output. Ясно дело, тип материала выбираем Light Function. Там кроме Emissive Color ничего нет, не запутаетесь.
Для разнообразия есть паук побольше, как факел мерцает, хорошо видно на его трупе.
На самом деле, настойка параметров в функции материала - дело очень творческое, можете сами их покрутить, и сделать, как считаете нужным.