| 
				
				Вопрос-[ответ] по Unity
				 | 
 | 
| QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |  
 
старожил 
Сейчас нет на сайте 
 
 | Вопрос-[Ответ] по Unity3d 
    База скриптов Unity3d    Курс Уроков по Unity 3D от Alcatraz
  ConsMark - поисковик по интернет магазинам.
 
 Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54  |  
| 
 | 
 |    | 
| Ninbous | Дата: Воскресенье, 07 Мая 2017, 13:40 | Сообщение # 8321 |  
| 
 уже был 
Сейчас нет на сайте 
 
 | Всем привет! Ребята как убрать тень у деревьев? Один и тот же прифаб, но когда я перетаскиваю прифаб просто на сцену то тени у него нет, а когда юзаю в террейне тень появляется, как убрать тень чтобы модно было юзать как кисть в террейне?
  
 |  
| 
 | 
 |    | 
| Bo | Дата: Воскресенье, 07 Мая 2017, 21:12 | Сообщение # 8322 |  
 
почетный гость 
Сейчас нет на сайте 
 
 | Вопрос из разряда очень нубских. Делал проект в 4.6. Доделал, решил перенести его в 5,6 чтобы была возможность выгрузить в WebGL. И тут обнаружились забавные вещи.
  раньше в Unity 4.6 можно было написать что-нибудь типа
 
 Код this.rigidbody2D.velocity = ....  
  но в Unity 5 теперь надо делать так:
 
 Код shipRigidbody = GetComponent<Rigidbody2D>();  
  и только после этого обращаться к компоненту rigidbody2D
  Раньше можно было написать
 
 Код audio.Play rigidbody2D.velocity += tweak
   выглядело коротко, читалось легко
 
 Код GetComponent<AudioSource>().Play(); GetComponent<Rigidbody2D>().velocity() += tweak;
   Новый вариант выглядит громоздким хотя по сути делает тоже самое
  Вопрос: зачем эти изменения нужны (а они ведь явно не просто так сделаны, все таки не дураки писали) Я прочитал пару статей по аксессорам в Unity, но та ки не понял почему для одних компонентов это работало, а для других нет. В общем если кто-то по простому и по русски напишет буду признателен (ну или за линк на материал для чайников)
 
 Сообщение отредактировал Bo - Воскресенье, 07 Мая 2017, 21:12  |  
| 
 | 
 |    | 
| seaman | Дата: Понедельник, 08 Мая 2017, 00:58 | Сообщение # 8323 |  
| 
 старожил 
Сейчас нет на сайте 
 
 | rigidbody может не быть audio может не быть Если их нет - встроенные переменные быстрого доступа будут null. И это не очевидно. GetComponent предполагает, что Вы понимаете что делаете и проверите - а вернул ли он что-нибудь. Это уменьшает число ошибок. transform оставили потому что он есть всегда
 |  
| 
 | 
 |    | 
| SEMAK1987 | Дата: Понедельник, 15 Мая 2017, 19:08 | Сообщение # 8324 |  
| 
 уже был 
Сейчас нет на сайте 
 
 | Доброго времени суток, помогите со скриптом // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  // Per pixel bumped refraction. // Uses a normal map to distort the image behind, and // an additional texture to tint the color.
  Shader "HeatDistort" { Properties { 	_BumpAmt ("Distortion", range (0,128)) = 10 	_MainTex ("Tint Color (RGB)", 2D) = "white" {} 	_BumpMap ("Normalmap", 2D) = "bump" {} }
  CGINCLUDE #pragma fragmentoption ARB_precision_hint_fastest #pragma fragmentoption ARB_fog_exp2 #include "UnityCG.cginc"
  sampler2D _GrabTexture : register(s0); float4 _GrabTexture_TexelSize; sampler2D _BumpMap : register(s1); sampler2D _MainTex : register(s2);
  struct v2f { 	float4 vertex : POSITION; 	float4 uvgrab : TEXCOORD0; 	float2 uvbump : TEXCOORD1; 	float2 uvmain : TEXCOORD2; };
  uniform float _BumpAmt;
  half4 frag( v2f i ) : COLOR { 	// calculate perturbed coordinates 	half2 bump = UnpackNormal(tex2D( _BumpMap, i.uvbump )).rg; // we could optimize this by just reading the x & y without reconstructing the Z 	float2 offset = bump * _BumpAmt * _GrabTexture_TexelSize.xy; 	i.uvgrab.xy = offset * i.uvgrab.z + i.uvgrab.xy; 	 	half4 col = tex2Dproj( _GrabTexture, i.uvgrab.xyw ); 	half4 tint = tex2D( _MainTex, i.uvmain ); /// <<<<<<< сдесь пишит ошибку  	return col * tint; } ENDCG
  Category {
  	// We must be transparent, so other objects are drawn before this one. 	Tags { "Queue"="Transparent+100" "RenderType"="Opaque" }
  	SubShader {
  		// This pass grabs the screen behind the object into a texture. 		// We can access the result in the next pass as _GrabTexture 		GrabPass {							 			Name "BASE" 			Tags { "LightMode" = "Always" }  		}  		  		// Main pass: Take the texture grabbed above and use the bumpmap to perturb it  		// on to the screen 		Pass { 			Name "BASE" 			Tags { "LightMode" = "Always" } 			 CGPROGRAM #pragma vertex vert #pragma fragment frag
  struct appdata_t { 	float4 vertex : POSITION; 	float2 texcoord: TEXCOORD0; };
  v2f vert (appdata_t v) { 	v2f o; 	o.vertex = UnityObjectToClipPos(v.vertex); 	#if UNITY_UV_STARTS_AT_TOP 	float scale = -1.0; 	#else 	float scale = 1.0; 	#endif 	o.uvgrab.xy = (float2(o.vertex.x, o.vertex.y*scale) + o.vertex.w) * 0.5; 	o.uvgrab.zw = o.vertex.zw; 	o.uvbump = MultiplyUV( UNITY_MATRIX_TEXTURE1, v.texcoord ); 	o.uvmain = MultiplyUV( UNITY_MATRIX_TEXTURE2, v.texcoord ); 	return o; } ENDCG 		} 	}
  	// ------------------------------------------------------------------ 	// Fallback for older cards and Unity non-Pro 	 	SubShader { 		Blend DstColor Zero 		Pass { 			Name "BASE" 			SetTexture[_MainTex] {	combine texture }  		} 	} }
  }
  Добовляю к материалу он становится не прозрачным а розового цвета ,сам скрипт работает только текстура мешает всей отмосфере.
 |  
| 
 | 
 |    | 
| Qualmer | Дата: Воскресенье, 21 Мая 2017, 07:36 | Сообщение # 8325 |  
| 
 уже был 
Сейчас нет на сайте 
 
 | Я делаю 2Д-рогалик с процедурной генерацией подземелий. С помощью скрипта создается двухмерный массив из мелких квадратиков и в нем рандомные комнаты. В случайной комнате спавнится персонаж, а также прикрепленная к нему камера и интерфейс. Всё спавнится как надо, кроме интерфейса, он постоянно появляется в одном и том же месте(координаты 0,0) независимо от расположения камеры или игрока.  Реализован интерфейс через канвас с картинками с рендером по камере.  Помогите, пожалуйста.
 |  
| 
 | 
 |    | 
| Бозингар | Дата: Среда, 24 Мая 2017, 11:44 | Сообщение # 8326 |  
 
почетный гость 
Сейчас нет на сайте 
 
 | Проблема с 2d анимацией. Rotation объекта по умолчанию - 0, 0, 0. Через ключевую анимацию (окно Animation) пытаюсь повернуть на -2 градуса (перемещаю полоску кадра в окне Animation, поворачиваю объект на -2 градуса). Вместо этого он кувыркается в обратную сторону на 358 градусов. С пивотами всё нормально, скриптов нет, других видимых причин тоже не замечаю. Первый раз такой хрен.  
  #Хийвэл бүү ай, айвал бүү хий.
 |  
| 
 | 
 |    | 
| EchoIT | Дата: Среда, 24 Мая 2017, 14:24 | Сообщение # 8327 |  
 
старожил 
Сейчас нет на сайте 
 
 | Бозингар, 358 градусов это то же самое, что -2 градуса.  
  Долгожданный анонсик: State of War
 |  
| 
 | 
 |    | 
| Бозингар | Дата: Среда, 24 Мая 2017, 15:56 | Сообщение # 8328 |  
 
почетный гость 
Сейчас нет на сайте 
 
 | Цитата  offtop ()  Цитата EchoIT (  )   358 градусов это то же самое, что -2 градуса. Бесспорно. Но когда мне нужно было освежить знания по геометрии - я пошёл на ресурсы, посвящённые этой тематике. Сюда же пришёл узнать конкретное решение конкретной проблемы, а не выяснять основы тригонометрии. Повторю то, что уже писал многократно на этом форуме: не знаете ответа на вопрос - игнорируйте его. А для блистания остроумием есть пикабу, фишки и куча иных сайтов.   
  #Хийвэл бүү ай, айвал бүү хий.
 |  
| 
 | 
 |    | 
| EchoIT | Дата: Среда, 24 Мая 2017, 16:15 | Сообщение # 8329 |  
 
старожил 
Сейчас нет на сайте 
 
 | Бозингар, это и есть ответ на твой вопрос. Пища, так сказать, для размышления. А коли ты не хочешь размышлять, а лишь хочешь ответы на все вопросы, то в геймдеве тебе делать нечего. Если тебе что-то не нравится, игнорируй сам. Здесь тебе никто ничем не обязан.
  Долгожданный анонсик: State of War
 
 Сообщение отредактировал EchoIT - Среда, 24 Мая 2017, 16:16  |  
| 
 | 
 |    | 
| DisCr | Дата: Понедельник, 29 Мая 2017, 13:10 | Сообщение # 8330 |  
| 
 был не раз 
Сейчас нет на сайте 
 
 | Здраствуйте, как в самом редакторе Unity можно поставить предмет точно рядом с другим, чтобы они были рядом и милиметра между ними не оставалось? Есть ли в нём какая нибудь привязка к вершинам/рёбрам, как в 3d редакторах?
 |  
| 
 | 
 |    | 
| AndrewNovak | Дата: Понедельник, 29 Мая 2017, 16:13 | Сообщение # 8331 |  
 
почетный гость 
Сейчас нет на сайте 
 
 | Цитата DisCr (  )   Есть ли в нём какая нибудь привязка к вершинам/рёбрам, как в 3d редакторах?  Выделяешь объект - переходишь в перемещение - зажимаешь кнопку V и тяшешь за вертексы к вертексам другого объекта Также есть опция в Edit -> Snap Settings
  COLD DEPTH Steam   PUSS!   COLD DEPTH
 
 Сообщение отредактировал AndrewNovak - Понедельник, 29 Мая 2017, 16:14  |  
| 
 | 
 |    | 
| allods | Дата: Понедельник, 12 Июня 2017, 18:06 | Сообщение # 8332 |  
 
почти ветеран 
Сейчас нет на сайте 
 
 | Ребят нужен ответ на вопрос Можно ли использовать корутины в таких целях типо таймера ? Как скажется на производительность? Пример
 
 Код     IEnumerator randStand(){   while(true){    randAnim = Random.Range (0,3);    yield return new WaitForSeconds (3);   }   yield break;     } 
  И других по типу востановления ХП у юнитов каждую секнду +н количество? Или лучше в Update засунуть с таймером ?
 |  
| 
 | 
 |    | 
| beril | Дата: Понедельник, 12 Июня 2017, 19:20 | Сообщение # 8333 |  
 
Я не ленивый, я — энергосберегающий 
Сейчас нет на сайте 
 
 | Цитата allods (  )   И других по типу востановления ХП у юнитов каждую секнду +н количество? Или лучше в Update засунуть с таймером ?  Не лутчше, короутином часто заменяют Update и используют его как игровой цикл
 
         Накодил? Убери за собой!   Инвентарь в Unity(UI)   Инвентарь в Unity(GUI) 
 |  
| 
 | 
 |    | 
| allods | Дата: Понедельник, 12 Июня 2017, 20:16 | Сообщение # 8334 |  
 
почти ветеран 
Сейчас нет на сайте 
 
 | Цитата beril (  )   Не лутчше, короутином часто заменяют Update и используют его как игровой цикл  Но если я использую Update для других дел, можно попутно еще корутин так 5 зафигачить? Допустим что таких скриптов будет от 20 до 100 и в каждом по Update и по 5 корутин что я показал выше. Просто хочу знать, как сильно влияет на производительность корутины или не стоит с эти париться . Все эти корутины работаю с самого Старта .
  И да все это для мобилок
 
 Сообщение отредактировал allods - Понедельник, 12 Июня 2017, 20:17  |  
| 
 | 
 |    | 
| beril | Дата: Понедельник, 12 Июня 2017, 23:10 | Сообщение # 8335 |  
 
Я не ленивый, я — энергосберегающий 
Сейчас нет на сайте 
 
 | Цитата allods (  )   Но если я использую Update для других дел, можно попутно еще корутин так 5 зафигачить? Допустим что таких скриптов будет от 20 до 100 и в каждом по Update и по 5 корутин что я показал выше. Просто хочу знать, как сильно влияет на производительность корутины или не стоит с эти париться . Все эти корутины работаю с самого Старта .
  И да все это для мобилок  в одном скрипте 5 бесконечных циклов на куче обьектов это много. Короутины более прожорлевые и в большом количестве их не стоит использовать. Насколько помню по статье: использование одновременно до 1000 короутинов практически не влияет на производитедьность, это касается вызова в одном фрейме. Если есть задержка WaitForSeconds и подобные им, по идеи даже большое количество короутинов не повлияет на производительность. Но надо тестить все И да все это писичная оптимизация, я бы на твоем месте не об оптимизации Update и короутинов думал, а об Random.Range и того, что будет находится внутри короутины   Лично я за короутины, никогда не сталкивался с падением производительности из за них, ну опять же такую конструкция лучше не использовать в большом количестве. 
 
 Код  while (true) { yield return null; }
 
 
 
  В твоем случае, для востановления хп и прочего лучше короутины юзать, Update нужен для действий, которые необходимо выполнять каждый фрейм. Короутины не замена Update , но в некоторых случаях лучше использовать короутины
 
         Накодил? Убери за собой!   Инвентарь в Unity(UI)   Инвентарь в Unity(GUI) 
 |  
| 
 | 
 |    | 
| EchoIT | Дата: Понедельник, 12 Июня 2017, 23:21 | Сообщение # 8336 |  
 
старожил 
Сейчас нет на сайте 
 
 | Цитата  ожно ли использовать корутины в таких целях типо таймера ?  Можно. Нужно ли? Нет. Говно без задач.
  Долгожданный анонсик: State of War
 |  
| 
 | 
 |    | 
 | 
| roma3fon | Дата: Среда, 12 Июля 2017, 04:47 | Сообщение # 8338 |  
 
участник 
Сейчас нет на сайте 
 
 | ProsstoBRO, ну самый простой способ написать шейдер смещения слоев по осям в зависимости от расположения камеры.
 |  
| 
 | 
 |    | 
| EchoIT | Дата: Среда, 12 Июля 2017, 11:38 | Сообщение # 8339 |  
 
старожил 
Сейчас нет на сайте 
 
 | Цитата  ProsstoBRO, ну самый простой способ написать шейдер смещения слоев по осям в зависимости от расположения камеры.   Ваще не самое простое. Далеко не все умеют писать шейдеры.  
  Долгожданный анонсик: State of War
 |  
| 
 | 
 |    | 
| ProsstoBRO | Дата: Среда, 12 Июля 2017, 13:52 | Сообщение # 8340 |  
 
был не раз 
Сейчас нет на сайте 
 
 | Блин, просто хочется игрушку на android сделать, в гейм мейкере производительность не очень, в unity получше будет, но не хочется использовать 3D
 
  
 |  
| 
 | 
 |    |