Комментарии проекта Unity 3D
2

Бесконечный прыжок)

» Unity 3D
Хочу отключить способности супер-мэна ^-^ Перс прыгает вечно!!!
вот код скажите чё делать?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Controller : MonoBehaviour {

	public float VertImp;
    Rigidbody2D rb;
	bool isGrounded;

	void Start () {
		rb = GetComponent<Rigidbody2D> ();
	}

	public void OnClickJump ()
	{
			rb.AddForce (new Vector2 (0, VertImp), ForceMode2D.Impulse);
	}

}
N7 Molot #1 - 2 месяца назад 0
Блочишь прыжок, или булевой или проверкой (касается ли перс чего то)
 void OnCollisionEnter()
    {
        Jumping = false;
    }
А перс отпускается обратно?
ledoed #2 - 2 месяца назад 0
надо проверять на то что юнит находиться на поверхности либо райкастом либо колизиями,в стандартном ассете посори как устроено физика прыжка,
5

Прыжок

» Unity 3D
Привет, мне нужно сделать прыжок в игре так что бы при нажатии на экран андроида он подпрыгивал. Физику я уже сделал. Все пишут код по разному, каждый по своему и многое не работает! У меня Unity 5 (32 битная), c# скрипт и MonoDevelor. А персонажа зовут person
ledoed #1 - 2 месяца назад (отредактировано ) 0
ту конструкцию что я скинул должна быть в update и переменная grounted должна быть реализована тобой
tsiganock #2 - 2 месяца назад (отредактировано ) 0
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playerController : MonoBehaviour {

	public float VertImp;
	Rigidbody2D rb;

	if (grounted)
	{
		rb.AddForce(Vector2.up * strenght);
	}

	void Start () {
		rb = GetComponent<Rigidbody2D> ();
	}

	void FixedUpdate () {
		if (Input.tochCount > 0) {
			rb.AddForce (new Vector2 (0, VertImp), ForceMode2D.Impulse);
			foreach(Touch t in Input.touches)
		}
	}
}
мой код стал выглядеть вот так, а ошибки, тут и говорить нечего.
**Assets/script/playerController.cs(10,3): error CS1519: Unexpected symbol `if' in class, struct, or interface member declaration
Assets/script/playerController.cs(10,14): error CS1519: Unexpected symbol `)' in class, struct, or interface member declaration**
error CS9010: Primary constructor body is not allowed
Assets/script/playerController.cs(23,2): error CS1525: Unexpected symbol `}'
ledoed #3 - 2 месяца назад (отредактировано ) 0
нуна примерно такую конструкцию
        if (Input.touchCount > 0)
        {

            foreach(Touch t in Input.touches)
            {

                if (grounted)
                {
                    rb.AddForce(Vector2.up * strenght);
                }

            }


        }
grounted -это булевая переменая отвечающая перс твой косаеться вообще земли
strenght - это сила с которой твой чел полетит в адфосе изначально импульс
tsiganock #4 - 2 месяца назад (отредактировано ) 0
ledoed:
ООО спасибо! Это точно!
ledoed:
Зделал всё по инструкции с интернета + твои советы, исправил все ошибки, но выдало последнюю ошибку The type or namespace name `RigitBody2D' could not be found. Are you missing an assembly reference? Не знаю как исправить! если хочешь вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playerController : MonoBehaviour {

	public float VertImp;
	RigidBody2D rb;

	void Start () {
		rb = GetComponent<RigitBody2D> ();
	}

	void Update () {
		if (Input.toches ()) {
			RigitBody.AddForce (new Vector2 (0, VertImp), ForceMode2D.impulse);
		}
	}
}
ledoed:
Я кароч немного исправил, но ошибка тут!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playerController : MonoBehaviour {

	public float VertImp;
	RigidBody2D rb;

	void Start () {
		rb = GetComponent<RigidBody2D> ();
	}

	void FixedUpdate () {
		if (Input.toches ()) {
			rb.AddForce (new Vector2 (0, VertImp), ForceMode2D.impulse);
		}
	}
}
ledoed #5 - 2 месяца назад 0
отлавливаешь нажатие тача Input.touches,или кнопой UI там предельно просто,ты говоришь физику сделал значит отправить импульс вверх те не составит труда (rigitbody.AddForce())
8

Звук в игре создаётся пачками

» Unity 3D
есть скрипт для озвучки
 public void PlaySound(int y_soundNum)
    {
        GameObject y_gameObject = Instantiate(y_sfx, Vector3.zero, Quaternion.identity) as GameObject;
        AudioSource y_audioSource = y_gameObject.GetComponent<AudioSource>();
        y_audioSource.clip = y_audioClips[y_soundNum];
        y_audioSource.Play();
        Destroy(y_gameObject, y_audioClips[y_soundNum].length);
    }
но при создании звука он создает сразу пачку объектов. как можно сделать так чтобы звуковой объект создавался только 1? нажатии кнопки, ходьбе, атаке???
Tevirp #1 - 5 месяцев назад (отредактировано ) -2
Что то все равно не получается(
ledoed #2 - 5 месяцев назад 0
а на оф юньке там что нет уроков или материалов как управлять звуком
Tevirp #3 - 5 месяцев назад -2
Делал таким образом компанией звука на персонажа при ходьбе, но весь интерес в том что у меня сделан джойстик для движения.
И сделать условия на передвижения звук все равно проигрывается 1 за другим даже не успев начаться
Ledoe подскажи пожалуйста сайт где можно норм озвучку сделать, ато чувствую моим макаром я каши много не сварю)))
ledoed #4 - 5 месяцев назад 0
ну смари есть юнит на него навесил компонент звука,и по обстоятельствам проигрывай его обращаясь непосредственно к этому компоненту,в теории звук запущеный должен прикрывать уже идущий
Tevirp #5 - 5 месяцев назад 0
Спасибо. попробовал. Теперь звуковые объекты удаляются сразу, но все равно звук удаленых объектов проигрывается до конца
нет не так
Взял полность ваш скрипт попробовал. Но у меня там идёт несколько видов звука под разные условия. И при выполнении остаётся только 1 самый последний когда нужно несколько.
Пример бегал и стрелял. Если бежит. Норм, но при выставлении звук бега прекращается, включается выстрел. И наоборот.
Попробовал в условия поменять на y_audioClips[y_soundNum. Но при этом объекты созданные удаляются, а звук проигрывается до конца
А что за вариант с аудиодорожкой?
ledoed #6 - 5 месяцев назад (отредактировано ) 0
GameObject y_gameObject;

public void PlaySound(int y_soundNum)
{
	if(y_gameObject) Destroy(y_gameObject );
 y_gameObject = Instantiate(y_sfx, Vector3.zero, Quaternion.identity) as GameObject;
AudioSource y_audioSource = y_gameObject.GetComponent<AudioSource>();
y_audioSource.clip = y_audioClips[y_soundNum];
y_audioSource.Play();
Destroy(y_gameObject, y_audioClips[y_soundNum].length);
}
ну конечно ваш вариант очень утечный,лутше уж уже дать юниту аудидорожку и проигрывать уже его из компонента,так как проигрывание будет прикрывать уже проигравшую музыку
Tevirp #7 - 5 месяцев назад (отредактировано ) 0
Короче создал скрипт отдельный для создания отдельного звукового объекта
И спомощью ссылки на этот скрипт делаю условия для создания
Но при создании звуковой объект создаётся в нескольких экземплярах
Пример. Прыжок при нажатии на кнопку прыжка. Звуковой объект создаётся при каждом нажатии. Если брать переменную bool определяющую находится ли персонаж на земле или нет. То звуковой объект создаётся несколько раз до тех пор пока не преземлиться.

Подскажите как сделать так чтобы звуковой объект создавался только 1 раз при выполнении условия
ledoed #8 - 5 месяцев назад (отредактировано ) 0
звук друг на друга накладывается чтоле
да и непонятно каких обьектов,смотри префаб или метод юзаеться оч часто
4

Отражения игнорируют меш

» Unity 3D
Я что-то не смог загуглить решения проблемы. Почему рефлекшены игнорируются мешью? В сцене стоит обычный point light за дверью, но всё равно отражения есть. Всё стоит на статике с double sided опцией.
Черная Чайка #1 - 6 месяцев назад 0
ENAleksey, Сначала да, не откидывал. Прогуглил, узнал, что игнорируются бекфейсы, и нужно включить дабл сайд. Включил, теперь тени отбрасывает правильно, а вот рефлекшен остался тем же.
прикреплены файлы
ENAleksey #2 - 6 месяцев назад (отредактировано ) 0
Черная Чайка, всё-таки покажите настройки точечного источника света. Может быть, сам меш стены не откидывает тени?
Черная Чайка #3 - 6 месяцев назад 0
ENAleksey, да
ENAleksey #4 - 6 месяцев назад 0
А тени для точечного источника включены?
8

Сериализация объектов в C#

» Unity 3D
В этой статье будет подробно разобрана сериализация/десериализация объектов, ее предназначение, форматы и случаи, где какой формат сериализации использовать.

Читать далее...
GeneralElConsul #1 - 7 месяцев назад (отредактировано ) 0
Как только данные усложняются формат становится не сильно более понятным чем бинарный.
Как и твой приведенный, разве нет? Визуальный мусор есть, но сам формат простой. У меня не было случаев, когда не разобрался при просмотре тестового сохранения или я не писал ничего сложного.
Мои причины использования json очень простые: она почти ничем не хуже твоего метода; часто можно не писать парсер, а использовать работающую либу; этот формат известен всем в отличие от своего персонального.
Но твою позицию со своим форматом пониманию.
Doc #2 - 7 месяцев назад (отредактировано ) 2
Я согласен что если есть зависимость от сторонних тулз - можно и подстроиться под формат. В основном правда очень часто единственной тулзой является сам движок игры. И свой сериалайз + парсинг пишется очень и очень быстро, особенно в хайлевел языках, где работа со строками уже налажена. К примеру взгляните на:
здесь функция split_into_words_and_quoted_pieces из 60 строк это весь токенайзер. Далее парсинг совершенно тривиален и добавлять новые части к нему ничего не стоит.
он определяет скобки как блок данных, все нормально читается.
Это ничего не дает, в формате куча визуального мусора и он слишком прост чтобы в него сериализовать более сложные данные, например список из объектов разных под-типов.
Когда в жсоне один линейный список он читается нормально. Как только данные усложняются формат становится не сильно более понятным чем бинарный.
GeneralElConsul #3 - 7 месяцев назад 0
json рулит: по структуре проще xml, а сама структура более понятная чем прямой текст. Про читаемость - открыл в Notepad++ и поехали, он определяет скобки как блок данных, все нормально читается.
prog #4 - 7 месяцев назад 0
Doc, Согласен. Но на самом деле сильно зависит от юзкейсов. Например, собрать прототип на готовой JSON сериализации будет быстрее, если своей либы еще нет готовой - запилить потом другой алгоритм сериализации никто не мешает, когда понадобится и будет дополнительно время на это.
Сам пользуюсь JSON-ом для хранения статичных данных в своем основном проекте т.к. руки не дошли пилить кастомную сериализацию, а анрил из коробки понимает превращение таблиц данных в JSON и обратно и, соответственно, в наличии визуальный редактор и другие плюшки, которые иначе пришлось бы пилить вручную либо с нуля либо допиливать к существующим инструментам. Правда руками я их в итоге трогаю довольно редко, а ингейм сохранения всеравно в бинарниках.
Doc #5 - 7 месяцев назад (отредактировано ) 4
Все это медленнее (за исключением бинарной сериализации) и менее читаемо чем просто ручная запись файлов в плейн-текст формате уровня:
game_state
money 999.99
lives 12
Текст разбивается по пробелам и лайнбрейкам и ручками пишется recursive descent parser (простейшая вещь с которой справится и школьник). Подобный формат легко править и читать даже без наличия продвинутого редактора, он нормально будет смотреться в гит диффах. При желании легчайшим образом добавляется собственное версионирование, к примеру:
game_state
money 999.99 @Since 1.2
lives 12
Одумайтесь. Жсон и хмл совершенно нечитаемые форматы при больших объемах древовидных данных.
alexprey #6 - 7 месяцев назад 0
Ну так поведай нам.
Обратная-совместимость данных. Что делать, когда ты уже в продакшене, а надо расширить или урезать данные, сериализованные в формате X
Msey #7 - 7 месяцев назад (отредактировано ) 0
1.5к объектов не показатель
Msey
более 1500
Самый важный показатель сериализации не рассмотрен
Ну так поведай нам.
alexprey #8 - 7 месяцев назад -3
Если честно, то сравнение сериализации представлено так-себе. 1.5к объектов не показатель. Самый важный показатель сериализации не рассмотрен.
33

Где мне лучше создать планируемое?

» Unity 3D
Хочу создать игру, с сюжетной линией такой, как в помойном WoW. Тоесть с длинным и обширным сюжетом, множестком заданий и сюжетных прохождений.
И вот не знаю, на движке варика запилить компании, или в Юнити 3Д сделать это? Опытные люди, помогите, это важно
Cancel #11 - 9 месяцев назад -6
Предлагаю следующее, если ты в течении месяца мне скинешь екзешник, в котором будет интерфейс стартового меню и анимированные переходы между кнопками этого меню, я закину тебе 500$ на твой банковский счет или qiwi
Соглашайся! Найдёшь исполнителя со стороны, который сделает это за 100 баксов!
Araders #12 - 9 месяцев назад 0
Tiodor, достаточно давно.
Tiodor #13 - 9 месяцев назад 0
Графические функции это что-то типа как GUI в Варкрафте - доступны только в платной версии програмы.
лол, сколько лет ты не заходил в юньку? store.unity.com/ru/products/unity-pro
bifurcated #15 - 9 месяцев назад 0
Есть ещё одно "но", карту сделанную на WordEditor ты не продаш и ни кто у тебя её не купит. Да и Warcraft выпустили в 2003 это тебя не напрягает? Unity с каждым годом развивается, да и тебе для начала надо изучить C#, 3D программу и Photoshop, чтобы воплотить свою идеи в движке. Мидгард? С таким названием была мобильная MMORPG.
Msey #16 - 9 месяцев назад (отредактировано ) 0
Кроме того, если заюзаешь RenderEdge, сможешь превзойти по качеству любой проект на юнити.
На юнити можно сделать все, что имеется в варкрафте - и даже больше, не проиграв по качеству.
Варик все таки ущемлен по функционалу. А с юнити...здесь вопрос упирается в количество просранного на это время и в "на кой хер это вообще нужно".
Araders #20 - 9 месяцев назад 6
Unity
Плюсы:
  1. Для использования всех прелестей Unity тебе будут нужны знания программных языков - C++ или JavaScript, так же их изучение может помочь с дальнейшей карьерой.
  2. Так же у него есть магазин с бесплатными и платными наработками и материалами для твоего "чуда".
  3. Уже устоявшаяся площадка с кучей обучающих статей и видео уроков.
Минусы:
  1. Графические функции это что-то типа как GUI в Варкрафте - доступны только в платной версии програмы.
  2. Количество бесплатного софта настолько не велико что придется делать самому все начиная от графики заканчивая кодом.
  3. За то время пока ты освоишь этот Unity ты возможно сможешь найти себя!
Warcraft 3
Плюсы:
  1. Нету необходимости изучать что-то новое все что есть в редакторе карт уже давно расписано по полочкам.
  2. Бесплатный софт - качай столько сколько хватит места.
  3. Что бы что-то создать нету необходимости даже изучать язык программирования.
Минусы:
  1. Меньший функционал чем практически во всем в отличии от Unity.
  2. Да и в отношении графики Unity более гибкий.
Заключение:
Твой выбор зависит от того какой масштаб всего этого тебе нужен. Если небольшая история то бери Варик, если очень серьезный масштаб размеров аж в целую вселенную то бери Unity.
Прошу добрую часть админов закрыть этот вопрос нахрен.
Komkozavr #21 - 9 месяцев назад (отредактировано ) 4
Артас,
Вселенная Магии

Уже название вселенной не притягивает. А-ля сказки для детишек.

В моей игре все события будут происходить на нашей планете - Мидгард
Наша планета называется Земля или Терра. А Мидгард это откуда-то из Марвел.
Так что если знаешь, то скажи, на каком движке лучше делать уже готовый лор, КОТОРЫЙ ПОВТОРЮСЬ НЕ ОТНОСИТСЯ К ВСЕЛЕННОЙ АЗЕРОТА
Лол. А причем тут движок варкрафта? О.о
Ну создай свою вселенную на движке морровинда или обливиона. Тебе все равно придется создавать всё с нуля, то что я описал выше.
прикреплены файлы
PrincePhoenix #22 - 9 месяцев назад (отредактировано ) 4
В задницу себе запихни свои предложения не по теме
Лучше засунь свои амбиции куда подальше, в свое отверствие, например, и послушай реальные советы по твоим вопросам.
С текущим навыком ты не сможешь создать ничего из вышеперечисленного, я же тебе предложил нормальный способ развития в этой области, если не привлекает ТД-шка на варкрафте, создай мобилку простецкую для андроидов, с простейшей механикой игры и выложи в сеть, получи порцию говнокритики и сделай выводы, что пока ты еще бездарь, школьник-.
Критика нужна не для нас, а для тебя. Если ты на раннем этапе своей идеи уже готов бросаться с пеной изо рта на каждого, кто осудил твои идеи - твои идеи неудачные, гавно

Если бы я в свое время не пришел на XGM и не выложил свой "амбициозный проект" на форуме, не получив при этом порцию разноса моего анала, я бы не научился делать все то, что я умею сейчас.

Теперь вопросы:
Ты все еще думаешь, что твои идеи гениальны для отдельной игры? Выложи у себя в блоге и посмотри на реакцию людей, боюсь разочаровать, тебя быстро с небес на землю опустят.
Raised:
Конечно уверен. Тем более что под вар есть куча нормальных редакторов моделей, не то что все эти помойние Здмаксы, майи и блендеры. Куча всякой ерунды ненужной. Кроме того, если заюзаешь RenderEdge, сможешь превзойти по качеству любой проект на юнити.
Я под столом))
Raised #23 - 9 месяцев назад (отредактировано ) 1
Конечно уверен. Тем более что под вар есть куча нормальных редакторов моделей, не то что все эти помойние Здмаксы, майи и блендеры. Куча всякой ерунды ненужной. Кроме того, если заюзаешь RenderEdge, сможешь превзойти по качеству любой проект на юнити.
Даген Хитрейший #24 - 9 месяцев назад -6
PrincePhoenix, В задницу себе запихни свои предложения не по теме. Я спросил, какой движок лучше и мне нужно только это знать. Давай отвечай
Alexey103, А кто говорит, что я собираюсь переплюнуть близзард и делать по этой вселенной?!
Я свою игру хочу создать со своей вселенной. и эта вселенная называется - Вселенная Магии, впрочем такое же название носит и моя игровая фирма.
И сюжет там будет происходить в реальной вселенной, поэтому стандартные модельки варика мне вообще не нужны. В моей игре все события будут происходить на нашей планете - Мидгард. Лор я давно уже создал и проработал, по лору я давно уже обошёл близзард, поэтому я их ненавижу и презираю, они хороши только в Лоре, но не лучше меня. А в остальном их игры дисбалансны и неиграбельны.
Так что модели для моей игры нужны будут совершенно новые, возможно лишь пара моделей из WoW пригодятся, а именно те, что связаны с титанами.
Так что если знаешь, то скажи, на каком движке лучше делать уже готовый лор, КОТОРЫЙ ПОВТОРЮСЬ НЕ ОТНОСИТСЯ К ВСЕЛЕННОЙ АЗЕРОТА
Raised, Ты уверен?
Stalker Freedom, Вот и я об этом. А насчёт своих плюсов, я для этого и задал вопрос. Ты перечисли мне плюсы всех известных тебе движков, а Я уже сам решу на каком буду разрабатывать
Stalker Freedom #25 - 9 месяцев назад 0
Артас, всё зависит от того, что в твоём понимании значит "лучше". У каждого движка свои плюсы.
На варике сделать легче, там есть готовые наработки, все триггеры интуитивно понятны и твой проект имеет много шансов выйти в свет. Но на варике если ты и сделаешь, то заработать на этом вряд ли получится
Komkozavr #26 - 9 месяцев назад 0
Alexey103,
PrincePhoenix, А что юнити так сложен? Я слышал там игру за 20 минут можно сделать. Вот то что там нет достаточного количества заготовок моделей и механик, гораздо большая проблема.
Это на всем готовеньком. Чтобы создать с нуля ЭПИЧЕСКУЮ РПГ, нужно написать скрипты, придумать сюжет, детально проработать лор, создать персонажей, создать им историю, создать модели, текстуры, модели анимировать, создать локации, создать кучу оружия и доспехов, плюс сеты доспехов с оружием. Создать монстров с которыми ты будешь воевать, создать спеллы.
Правильно говорит Феникс, лет 5-10 уйдёт на реализацию этого, поэтому гораздо проще на движке варкрафта сделать. Мало одного знания юнити и хорошо шарить в нём.
uranus #28 - 9 месяцев назад -1
Проще всего на юнити создать платформер, достигается это за счет встроенной физики. Если не париться над анимациями, то де кода совсем немного придется писать. А вообще есть даже ролик от Microsoft, где как раз урок создания платформера. Но что-то более серьезное за 20 минут? Хм... вряд ли.
ledoed #29 - 9 месяцев назад -5
не слушай не кого бери юньку она удобная ,чем варик сложно будет по началу потом привыкнешь
Alexey103 #30 - 9 месяцев назад -1
PrincePhoenix, Всё сводится к тому что у нас разные понятия о том что такое игра, на стиме сейчас многие "игры" не подходят под ваши критерии.
PrincePhoenix #31 - 9 месяцев назад 4
насмотрятся роликов на ютубе и на одном лишь юношеском максимализме пытаются делать игру. Есть простые шаги к постяжению этой индустрии и начинаются они с элементарного изучения теории, позже работа над чужими идеями, чтобы разобраться, как оно выглядит все изнутри, долгие пробы и эксперименты, помимо всего еще и игровой экспириенс получать надо, чтобы была хоть какая-то библиотека идей в голове.Ну и на последок делать мини-игры, чтобы оценивать свой опыт в понимании структуры игры.
Raised #32 - 9 месяцев назад (отредактировано ) 1
ledoed, согласен. На WIII Engine это реализуется в разы проще.
ledoed #33 - 9 месяцев назад -1
никакой там на юньке вы все легко не сделаете,если не иметь хорошего опыта накопленые скрипты и тд,Это прежде всего титанический труд,даже делая какой нить арканоид.