Comments 34
Неплохая выборка для тех кто не стал читать документацию. В основном новичкам будет полезно.
0
UFO just landed and posted this here
UFO just landed and posted this here
ИМХО — от статьи больше вреда чем пользы. Например, за Find(name) можно увольнять, если оно больше чем раз.
+1
Спасибо. Статья в первую очередь позиционируется как справочник, а не самоучитель. Просто хотел, чтобы человек, впервые взявшийся за данный движок, знал о подобных возможностях. Если у Вас есть предложения, то я всегда готов к конструктивной критике.
+4
объясните, пожалуйста, подробнее. Я, к примеру, реализовываю синглтон вот так:
public class FileDownloader : MonoBehaviour
{
private static FileDownloader instance = null;
public static FileDownloader current {
get { return instance; }
}
// Use this for initialization
void Awake ()
{
if (FileDownloader.instance == null) {
FileDownloader.instance = FindObjectOfType (typeof(FileDownloader)) as FileDownloader;
}
queue = new Queue ();
isReady = false;
}
Это плохо? Чем?
0
блин, не до конца скопипастил. Но вы поняли идею, да?
0
ну, последнюю неделю, я провел работая над тем что бы игра закажчика на айфоне 3гс выдавала больше 20 фпс. Чесно признаться — лучше вообще ничего не искать. Совсем. Сделайте себе референс, перетащите в редакторе. Тем более я сказал, «больше чем раз». У вас оно раз, не каждый кадр, а при старте/возвращении. Но я все еще не понял зачем. У вас же и так статический FileDownloader, зачем его еще искать?
0
Тема оптимизации вообще заслуживает отдельной статьи. В данной замечательной статье рассматриваются некоторые вопросы оптимизации, в одноименной главе. В частности, цитирую:
2. Без необходимости лучше не использовать Find\GetComponent и похожие методы — по мере возможности лучше сохранить ссылку на компонент один раз при запуске скрипта.
+2
unity3d.com/support/documentation/ScriptReference/Input-mousePosition.html
там есть пример, который делает то что вы хотите
там есть пример, который делает то что вы хотите
if (Input.GetButtonDown("Fire1")) {
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray))
Instantiate(particle, transform.position, transform.rotation) as GameObject;
}
+1
возможно оффтопик, но хотел бы спросить.
можно ли модифицировать один обьект другим обьектом с использованием булевой опреации?
грубо говоря есть квадрат и окружность (пересекающаяся), надо получить обьект иллиюстрирующий булевую операцию «И»
тоесть оставить только ту область где два обьекта пересекаются?
можно ли модифицировать один обьект другим обьектом с использованием булевой опреации?
грубо говоря есть квадрат и окружность (пересекающаяся), надо получить обьект иллиюстрирующий булевую операцию «И»
тоесть оставить только ту область где два обьекта пересекаются?
0
Да, можно писать процедурное по вертексам.
0
Встроенной функции нет для этого, но можно напрямую редактировать вертексы мешей, то есть ничего не мешает написать собственную реалиазацию подобного.
0
На оф. форуме лежит много всего интересного:
forum.unity3d.com/threads/85713-Boolean-Subtraction-Operations-on-Mesh?p=559435&viewfull=1#post559435
forum.unity3d.com/threads/33446-BSP-style-geometry-creation-tool-with-lightmapping.
forum.unity3d.com/threads/85713-Boolean-Subtraction-Operations-on-Mesh?p=559435&viewfull=1#post559435
forum.unity3d.com/threads/33446-BSP-style-geometry-creation-tool-with-lightmapping.
+1
Ничего нового для себя не нашёл, но новичкам правда может пригодится.
Автору всё равно спасибо
Автору всё равно спасибо
+1
Ну вот, а я как раз подобную статью пишу в данный момент. Даже не знаю, стоит ли постить теперь…
По статье — сухо, ну какой мне толк от того, что я знаю, как получить кватернион объекта, если я не понимаю, что это такое и как они работают (статья на вики не одержит ответа на этот вопрос). В Scripting Refefence и то подробнее все расписано.
По статье — сухо, ну какой мне толк от того, что я знаю, как получить кватернион объекта, если я не понимаю, что это такое и как они работают (статья на вики не одержит ответа на этот вопрос). В Scripting Refefence и то подробнее все расписано.
+1
Лично мое мнение — полезной информации никогда не бывает много. Поэтому писать статью Вам определенно стоит.
Возможно описано сухо, но я постарался аггрегировать наиболее употребляемые мной лично методы в работе, надеюсь кому-то пригодится как справочник. Изначально была идея сделать «живые» примеры использования для большинства описанных методов, но статья выходила слишком объемный. Решил оставить в таком виде, как вводной экскурс. Если получится, то в ближайшее время планировал сделать более подробные статьи по каждому разделу с примерами и описанием.
Возможно описано сухо, но я постарался аггрегировать наиболее употребляемые мной лично методы в работе, надеюсь кому-то пригодится как справочник. Изначально была идея сделать «живые» примеры использования для большинства описанных методов, но статья выходила слишком объемный. Решил оставить в таком виде, как вводной экскурс. Если получится, то в ближайшее время планировал сделать более подробные статьи по каждому разделу с примерами и описанием.
+2
Да просто обсасывать одну и ту же тему, ИМХО, моветон. Тем более, с отрывом в пару дней :)
Ну, если как справочник — тогда все окей, начинающим конечно пригодится, просто я больше именно туториалы и хау-ту читаю, поэтому первая реакция такая была.
Про объем можете и не говорить, я в январе этого года написал тут коротенький туториал для новичков, а когда второй стал делать быстро сдулся, потому что пытался объяснить в одном уроке от и до каждый аспект… А сейчас вот решил продолжить это дело, только уже постепенно матчасть объяснять, а не сразу практические задачи решать…
Ну, если как справочник — тогда все окей, начинающим конечно пригодится, просто я больше именно туториалы и хау-ту читаю, поэтому первая реакция такая была.
Про объем можете и не говорить, я в январе этого года написал тут коротенький туториал для новичков, а когда второй стал делать быстро сдулся, потому что пытался объяснить в одном уроке от и до каждый аспект… А сейчас вот решил продолжить это дело, только уже постепенно матчасть объяснять, а не сразу практические задачи решать…
0
UFO just landed and posted this here
Очень познавательно для новичков и для тех кто не читает документацию, но я бы на вашем месте раскрыл все таки нюансы производительности при использовании той или иной функции например Find(name) как писали выше, категорически нельзя пихать в Update(), или например:
Маленькая поправка: он будет вращаться всетаки вокруг своего центра тяжести rigidbody.centerOfMass.
Добавить объекту крутящий момент. Применение данного метода заставит объект вращаться вокруг своей оси в указанную сторону:
GameObject.rigidbody.AddTorque(0, 1, 0);
Маленькая поправка: он будет вращаться всетаки вокруг своего центра тяжести rigidbody.centerOfMass.
+2
У меня была одна проблема, которую до сих пор не решил:
Есть объект не правильной формы, скажем в виде буквы «П», для инспектора в Юнити он представляется как правильный прямоугольный объект, как программно определить все его реальные стороны, то есть внутренние стороны «П», с внешними все понятно, это не сложно, а вот внутренние, или скажем изначально объект в Максе был повернут и сохранен, в Юнити его видно как прямоугольный, но у него уже есть угол наклона, тоже определить его реальные стороны так и не вышло.
Некто не сталкивался с такой проблемой и не знает как ее решить?
Есть объект не правильной формы, скажем в виде буквы «П», для инспектора в Юнити он представляется как правильный прямоугольный объект, как программно определить все его реальные стороны, то есть внутренние стороны «П», с внешними все понятно, это не сложно, а вот внутренние, или скажем изначально объект в Максе был повернут и сохранен, в Юнити его видно как прямоугольный, но у него уже есть угол наклона, тоже определить его реальные стороны так и не вышло.
Некто не сталкивался с такой проблемой и не знает как ее решить?
0
Я не совсем понял о чем речь (точнее совсем не понял),
скриншот помог бы!
скриншот помог бы!
0
Давайте перефразирую, есть фигура в виде ромба, для инспектора он прямоугольник, как реально найти стороны этой фигуры?
0
Это такой очень тонкий троллинг? )
1. Что значит фраза «для инспектора в юнити он представляется»?
2. Что значит фраза «как программно определить все его реальные сторон»/«как реально найти его стороны»?
Нужен скриншот, или лучше чуточку более внятное описание и можно простой проект-пример.
Спасибо!
1. Что значит фраза «для инспектора в юнити он представляется»?
2. Что значит фраза «как программно определить все его реальные сторон»/«как реально найти его стороны»?
Нужен скриншот, или лучше чуточку более внятное описание и можно простой проект-пример.
Спасибо!
0
Я конечно могу ошибаться, но мне кажется, что у Вас при импорте задействуется дефолтный боксовый коллайдер. То есть после импорта модели Вам следует повесить на нее коллайдер с той же геометрией, что и сама модель. То есть навесить в качестве коллайдера эту же модель. Немного субурно, конечно, но думаю смысл ясен :)
0
Неплохо было бы добавить, что обращение к rigidbody объекта требует, чтобы у этого объекта был компонент Rigidbody (добавить либо через редактор, либо через код), а то будет возникать NullReferenceException
+1
Only those users with full accounts are able to leave comments. Log in, please.
Погружение в скрипты игрового движка Unity3d, ч.1