thanks, i will use it for my project
Свишня
Creator of
Recent community posts
js play good, or if u on pc use my cheats
https://github.com/Swish-XD/Love-Maniac-Cheats
Regarding the issues with the cheat: open the game's root folder and type "cmd" into the address bar. Then, type the name of the game's .exe file (if the name contains spaces, enclose it in quotation marks—e.g., "Love Maniac.exe"). Launch the game, trigger the error, copy the logs, and post them either in the GitHub Issues section or directly here as a reply; I'll see what I can do.
Пик геймплея... но если серьезно что бы я поменял бы:
добавил бы какую нибудь цель игроку (ходилки бродилки это конечно хорошо, но тут типо скучно и делать нечего)
отключил бы коллизию некоторым объектам по типу травы (мешает сильно гулять по этой локации, отключай компоненты типа Collider, можно еще в MeshRenderer отключить мелким объектам тени чтоб лишний раз комп не грузить)
Так же игрока сильно дергает при игре, тут наверно виноват кривой контроллер игрока или настройки физики, хотя я вижу что скрипты игрока не твои.
Про музыку или звуковое наполнение я щас ничего не скажу, наушников на данный момент нету.
Как первое творчество на Unity - нормально. Но если оценивать объективно как человек который шарит за Unity и как обычный игрок - максимум 3/10, у игрока нету цели, локация маленькая и изучать ее не интерестно. Если у тебя вновь появится желание сделать что то на Unity обращайся, помогу чем смогу!
Еще я дополнительно добавлю код для управления вкладками главного меню, ну как маленький презент, а то не сделать главное меню в Unity игре это плохо.
Вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MainMenuController : MonoBehaviour
{
[System.Serializable]
public class Page
{
public GameObject PageObject;
public List<Button> ButtonsForThisPage;
[HideInInspector] public CanvasGroup PageCanvasGroup;
[HideInInspector] public Animator PageAnimator;
}
public int StartCurrentPageID = 0;
public List<Page> MenuNavigation = new List<Page>();
public bool StartScreenFadeOnStart = true;
public bool HideMenuWhileInactive = true;
public CanvasGroup MainCanvasGroup;
public float maxInactiveTime = 8f;
private float inactiveTimeCounter;
private Page currentPage;
private Coroutine throttleCoroutine;
private void Awake() => Initialize();
private void Initialize()
{
if (MenuNavigation == null || MenuNavigation.Count == 0 || StartCurrentPageID >= MenuNavigation.Count)
{
Debug.LogError("[MainMenuController] Список страниц пуст или StartCurrentPageID настроен неверно!");
return;
}
currentPage = MenuNavigation[StartCurrentPageID];
for (int i = 0; i < MenuNavigation.Count; i++)
{
var page = MenuNavigation[i];
if (page.PageObject == null) continue;
page.PageCanvasGroup = page.PageObject.GetComponent<CanvasGroup>();
page.PageAnimator = page.PageObject.GetComponent<Animator>();
if (!page.PageObject.activeSelf)
page.PageObject.SetActive(true);
var targetPage = page;
foreach (Button btn in page.ButtonsForThisPage)
{
if (btn != null)
{
btn.onClick.AddListener(() => SwitchPage(targetPage));
}
}
if (page.PageObject != currentPage.PageObject)
{
PageAnimation(page, false);
}
else
{
PageAnimation(page, true);
}
}
}
private void Update()
{
if (!HideMenuWhileInactive) return;
if (Input.anyKey || Input.GetAxis("Mouse X") != 0 || Input.GetAxis("Mouse Y") != 0)
{
inactiveTimeCounter = 0f;
}
else
{
inactiveTimeCounter += Time.deltaTime;
}
if (inactiveTimeCounter >= maxInactiveTime || !Application.isFocused)
{
MainCanvasGroup.alpha = Mathf.Lerp(MainCanvasGroup.alpha, 0f, Time.deltaTime * 10f);
MainCanvasGroup.blocksRaycasts = false;
}
else
{
MainCanvasGroup.alpha = Mathf.Lerp(MainCanvasGroup.alpha, 1f, Time.deltaTime * 10f);
MainCanvasGroup.blocksRaycasts = true;
}
}
private void SwitchPage(Page newPage)
{
if (throttleCoroutine != null || newPage == currentPage) return;
PageAnimation(currentPage, false);
PageAnimation(newPage, true);
throttleCoroutine = StartCoroutine(ThrottleTransition(currentPage, newPage));
currentPage = newPage;
}
private void PageAnimation(Page page, bool enteringAnimation)
{
if (page.PageAnimator != null)
{
page.PageAnimator.SetTrigger(enteringAnimation ? "In" : "Out");
page.PageAnimator.ResetTrigger(!enteringAnimation ? "In" : "Out");
}
if (page.PageCanvasGroup != null)
{
page.PageCanvasGroup.blocksRaycasts = enteringAnimation;
page.PageCanvasGroup.alpha = enteringAnimation ? 1f : 0f;
}
}
private IEnumerator ThrottleTransition(Page page1, Page page2)
{
float page1Length = GetAnimationClipLength(page1);
float page2Length = GetAnimationClipLength(page2);
float waitTime = Mathf.Max(page1Length, page2Length, 0.1f);
yield return new WaitForSeconds(waitTime);
throttleCoroutine = null;
}
private float GetAnimationClipLength(Page page)
{
if (page.PageAnimator == null) return 0f;
var clipInfo = page.PageAnimator.GetCurrentAnimatorClipInfo(0);
if (clipInfo != null && clipInfo.Length > 0)
{
return clipInfo.clip.length;
}
return 0f;
}
public void QuitGame()
{
Invoke(nameof(CloseGame), 0.35f);
}
private void CloseGame()
{
Debug.Log("Game closed");
Application.Quit();
}
}
если что Chat GPT в помощь чтоб разобратся в моей писанине
Если у тебя проблемы, можешь попробывать мой чит для игры. Поддержка имеется только на Windows. Ссылка: https://github.com/Swish-XD/Love-Maniac-Cheats
If you're having trouble getting through the game, try my cheats. Only the Windows version is supported, but I'm hoping you're playing on a PC. Here's the GitHub link: https://github.com/Swish-XD/Love-Maniac-Cheats
Hey Nebula Team developers, I've been digging around your new 0.3.5-EA4 build and found out what your "mysterious item" does. I have a question about the text—will the game have deep lore? Or is this just an Easter egg for data miners like me? I look forward to your response, and yes, your game is extremely well-made! Thanks in advance.


