<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>БЛОГИ Unity3D по-русски!</title>
	<atom:link href="http://blogs.unity3d.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.unity3d.ru</link>
	<description>Блог и WIKI сообщества Unity 3D ru</description>
	<lastBuildDate>Mon, 21 Nov 2011 11:37:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Долгожданное объединение Unity + Flash</title>
		<link>http://blogs.unity3d.ru/2011/11/%d0%b4%d0%be%d0%bb%d0%b3%d0%be%d0%b6%d0%b4%d0%b0%d0%bd%d0%bd%d0%be%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-unity-flash/</link>
		<comments>http://blogs.unity3d.ru/2011/11/%d0%b4%d0%be%d0%bb%d0%b3%d0%be%d0%b6%d0%b4%d0%b0%d0%bd%d0%bd%d0%be%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-unity-flash/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 11:37:32 +0000</pubDate>
		<dc:creator>goodwin74</dc:creator>
				<category><![CDATA[Unity3D]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1241</guid>
		<description><![CDATA[
Наконец то, всеми ожидаемая новость от Unity Technologies, в ближайшее время уже обещают выход релиза Unity, где появится новая платформа сборки проекта – Flash. Множество разработчиков, ждали с нетерпением эту платформу. Почему? Все больше растет популярность игровых веб приложений в соц. сетях и на просторах интернета, которые можно играть буквально с сайта разработчика игры. Такие игры в [...]<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (8 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p><img src="http://media.steampowered.com/steamcommunity/public/images/avatars/1c/1c5a80e65145261fdfc2bc050e642f872879270f_full.jpg" alt="" width="100" height="100" /><img src="http://www.adobe.com/shockwave/download/images/flashplayer_100x100.jpg" alt="" width="100" height="100" /></p>
<p>Наконец то, всеми ожидаемая новость от Unity Technologies, в ближайшее время уже обещают выход релиза Unity, где появится новая платформа сборки проекта – Flash. Множество разработчиков, ждали с нетерпением эту платформу. Почему? Все больше растет популярность игровых веб приложений в соц. сетях и на просторах интернета, которые можно играть буквально с сайта разработчика игры. Такие игры в основном на платформе Flash. Unity тоже дала доступ компилировать веб-приложения, однако данные приложения запрашивали Unity Player. Так как для многих обычных пользователей, которые гуляют по просторам интернета, не известны движки, они пугались скачивать не изведанный ранее плейр. Т.е. Веб приложения со своим личным плеером распугивали многих пользователей, и разработчикам было трудно набрать популярность в интернете. Теперь если же веб приложения будут работать на платформе Flash, все станет гораздо проще и удобнее, как для пользователей приложений, так и для разработчиков.</p>
<p>Теперь на странице оф. сайта <a href="http://unity3d.com/unity/publishing/flash">http://unity3d.com/unity/publishing/flash</a> можно найти Flash среди платформ, на которых Unity дает возможность выпустить свой проект. Это уже хорошо, значит не долго нам осталось ждать релиза с нашем долгожданным нововведением! <img src="http://allthis.ru/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /></p>
<h1>Adobe Flash Player</h1>
<p>Скоро - <strong>Unity’s Flash Player</strong> аддон использует новый <strong>API, Stage3D</strong> в <strong>Adobe Flash Player</strong>. Все это для того, чтобы охватить максимально широкую аудиторию 3D-контента в Интернете с помощью игр и интерактивного контента, созданного в <strong>Unity</strong>.</p>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (8 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/11/%d0%b4%d0%be%d0%bb%d0%b3%d0%be%d0%b6%d0%b4%d0%b0%d0%bd%d0%bd%d0%be%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-unity-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как сделать расщепление объекта в пыль?(вопрос)</title>
		<link>http://blogs.unity3d.ru/2011/10/%d0%ba%d0%b0%d0%ba-%d1%81%d0%b4%d0%b5%d0%bb%d0%b0%d1%82%d1%8c-%d1%80%d0%b0%d1%81%d1%89%d0%b5%d0%bf%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0-%d0%b2-%d0%bf%d1%8b%d0%bb/</link>
		<comments>http://blogs.unity3d.ru/2011/10/%d0%ba%d0%b0%d0%ba-%d1%81%d0%b4%d0%b5%d0%bb%d0%b0%d1%82%d1%8c-%d1%80%d0%b0%d1%81%d1%89%d0%b5%d0%bf%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0-%d0%b2-%d0%bf%d1%8b%d0%bb/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 12:44:05 +0000</pubDate>
		<dc:creator>Kakiho</dc:creator>
				<category><![CDATA[Unity3D : Школа]]></category>
		<category><![CDATA[Разговоры.]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1237</guid>
		<description><![CDATA[У меня есть куб, мне нужно его превратить в пыль. Как это сделать? Пожалуйста помогите!
Rating: 9.5/10 (17 votes cast)<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=9.5" /></div><div>Rating: 9.5/<strong>10</strong> (17 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p>У меня есть куб, мне нужно его превратить в пыль. Как это сделать? Пожалуйста помогите!</p>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=9.5" /></div><div>Rating: 9.5/<strong>10</strong> (17 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/10/%d0%ba%d0%b0%d0%ba-%d1%81%d0%b4%d0%b5%d0%bb%d0%b0%d1%82%d1%8c-%d1%80%d0%b0%d1%81%d1%89%d0%b5%d0%bf%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0-%d0%b2-%d0%bf%d1%8b%d0%bb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Самонаводящаяся ракета. Вопрос</title>
		<link>http://blogs.unity3d.ru/2011/10/%d1%81%d0%b0%d0%bc%d0%be%d0%bd%d0%b0%d0%b2%d0%be%d0%b4%d1%8f%d1%89%d0%b0%d1%8f%d1%81%d1%8f-%d1%80%d0%b0%d0%ba%d0%b5%d1%82%d0%b0-%d0%b2%d0%be%d0%bf%d1%80%d0%be%d1%81/</link>
		<comments>http://blogs.unity3d.ru/2011/10/%d1%81%d0%b0%d0%bc%d0%be%d0%bd%d0%b0%d0%b2%d0%be%d0%b4%d1%8f%d1%89%d0%b0%d1%8f%d1%81%d1%8f-%d1%80%d0%b0%d0%ba%d0%b5%d1%82%d0%b0-%d0%b2%d0%be%d0%bf%d1%80%d0%be%d1%81/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 09:35:46 +0000</pubDate>
		<dc:creator>Kakiho</dc:creator>
				<category><![CDATA[Unity3D : Школа]]></category>
		<category><![CDATA[Разговоры.]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1177</guid>
		<description><![CDATA[Здравствуйте!
Подскажите пожалуйста как реализовать самонаводящуюся ракету. Т.е. как сделать что бы предмет передвигался в сторону z?
Попробовал сделать так: transform.position += Vector3(0, 0, 1);  он её несёт относительно мировой оси.
Потом сделал так: transform.localPosition += Vector3(0, 0, 1); тоже самое.
Разворот ракеты к цели у меня есть осталось токо сделать поимку цели и вот собственно что я от вас [...]<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=7.4" /></div><div>Rating: 7.4/<strong>10</strong> (8 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p>Здравствуйте!</p>
<p>Подскажите пожалуйста как реализовать самонаводящуюся ракету. Т.е. как сделать что бы предмет передвигался в сторону z?</p>
<p>Попробовал сделать так: transform.position += Vector3(0, 0, 1);  он её несёт относительно мировой оси.</p>
<p>Потом сделал так: transform.localPosition += Vector3(0, 0, 1); тоже самое.</p>
<p>Разворот ракеты к цели у меня есть осталось токо сделать поимку цели и вот собственно что я от вас прошу что бы она летела по оси z</p>
<p>Ну или перемещение к position таргета передом</p>
<p>Всем спасибо!</p>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=7.4" /></div><div>Rating: 7.4/<strong>10</strong> (8 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/10/%d1%81%d0%b0%d0%bc%d0%be%d0%bd%d0%b0%d0%b2%d0%be%d0%b4%d1%8f%d1%89%d0%b0%d1%8f%d1%81%d1%8f-%d1%80%d0%b0%d0%ba%d0%b5%d1%82%d0%b0-%d0%b2%d0%be%d0%bf%d1%80%d0%be%d1%81/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Не могу зайти на форум</title>
		<link>http://blogs.unity3d.ru/2011/10/%d0%bd%d0%b5-%d0%bc%d0%be%d0%b3%d1%83-%d0%b7%d0%b0%d0%b9%d1%82%d0%b8-%d0%bd%d0%b0-%d1%84%d0%be%d1%80%d1%83%d0%bc/</link>
		<comments>http://blogs.unity3d.ru/2011/10/%d0%bd%d0%b5-%d0%bc%d0%be%d0%b3%d1%83-%d0%b7%d0%b0%d0%b9%d1%82%d0%b8-%d0%bd%d0%b0-%d1%84%d0%be%d1%80%d1%83%d0%bc/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 09:31:24 +0000</pubDate>
		<dc:creator>alexmarch</dc:creator>
				<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1167</guid>
		<description><![CDATA[Не могу уже два дня зайти на форум, пишет вот такую ошибку

Return to index page



General Error
SQL ERROR [ mysql4 ]
User unity3dru_phpbb already has more than &#8216;max_user_connections&#8217; active connections [1203]
An sql error occurred while fetching this page. Please contact an administrator if this problem persists.












я уже и через прокси пробовал.



Rating: 0.0/10 (0 votes cast)<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p>Не могу уже два дня зайти на форум, пишет вот такую ошибку</p>
<div>
<div><a href="http://unity3d.ru/distribution/">Return to index page</a></div>
<div>
<div>
<div>
<h1>General Error</h1>
<div>SQL ERROR [ mysql4 ]</p>
<p>User unity3dru_phpbb already has more than &#8216;max_user_connections&#8217; active connections [1203]</p>
<p>An sql error occurred while fetching this page. Please contact an administrator if this problem persists.</p></div>
</div>
<div></div>
</div>
<div></div>
</div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div>я уже и через прокси пробовал.</div>
<div></div>
<div></div>
</div>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/10/%d0%bd%d0%b5-%d0%bc%d0%be%d0%b3%d1%83-%d0%b7%d0%b0%d0%b9%d1%82%d0%b8-%d0%bd%d0%b0-%d1%84%d0%be%d1%80%d1%83%d0%bc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Азы. Создание объекта.</title>
		<link>http://blogs.unity3d.ru/2011/10/%d0%b0%d0%b7%d1%8b-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0/</link>
		<comments>http://blogs.unity3d.ru/2011/10/%d0%b0%d0%b7%d1%8b-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 13:12:43 +0000</pubDate>
		<dc:creator>Kakiho</dc:creator>
				<category><![CDATA[Unity3D : Школа]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1079</guid>
		<description><![CDATA[Этот урок скорее справка рассчитан для того кто полностью знает интерфейс Unity!
Я программирую в Unity на языке JavaScript потому что я web-мастер и не много знаю JS поэтому мне так удобней.
Смотрим скрипт:
var projectile : Rigidbody; // переменная &#8220;projectile&#8221; у которой значение может быть только физический объект
function Update() // выполнять каждый кадр
{
if( Input.GetButtonDown (&#8220;Fire1&#8243;) ) // [...]<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=6.4" /></div><div>Rating: 6.4/<strong>10</strong> (11 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p>Этот урок скорее справка рассчитан для того кто полностью знает интерфейс Unity!</p>
<p>Я программирую в Unity на языке JavaScript потому что я web-мастер и не много знаю JS поэтому мне так удобней.</p>
<p>Смотрим скрипт:</p>
<blockquote><p>var projectile : Rigidbody; // переменная &#8220;projectile&#8221; у которой значение может быть только физический объект<br />
function Update() // выполнять каждый кадр<br />
{<br />
if( Input.GetButtonDown (&#8220;Fire1&#8243;) ) // условие: если вы нажали левую кнопку мыши<br />
{<br />
var instantiatedProjectile : Rigidbody =<br />
Instantiate( projectile, transform.position, transform.rotation ); // создание нового объекта в той же позе и развороте что и материнский объект<br />
}<br />
if (Input.GetKeyDown(&#8220;t&#8221;)) // условие: если вы нажали на клавиатуре кнопку &#8220;t&#8221;<br />
{<br />
transform.localPosition += Vector3(0, 0, 1); // передвинуть на 1 метр вперёд по локальной системе кординат (есть так же и мировая)<br />
}<br />
}</p></blockquote>
<p>Теперь разберём всё по порядку.</p>
<p><span id="more-1079"></span></p>
<p>var projectile : Rigidbody;</p>
<p>параметр var указывает на то что projectile это переменная, после двоеточие пишется значение переменной</p>
<p>Rigidbody &#8211; это игровой объект имеющий физику т.е. если у объекта нет группы параметров Rigidbody (Component&gt;Physics&gt;Rigidbody) то вы не сможете в редакторе (в Unity) в переменную projectile указать этот объект. Точка с запятой ( ; ) в конце этой строчки обязательны(!) потому что без них скрипт просто не будет работать а Юнити не даст вам запустить/скомпилировать проект!</p>
<p>function Update() &#8211; эта функция (function) выполняется каждый кадр. А фигурные скобки (обязательны!) указывают на то что будет внутри функции (т.е. сама функция). Функция &#8211; это набор действий.</p>
<p>if( Input.GetButtonDown (&#8220;Fire1&#8243;) )  - это условие.</p>
<p>Тег If обозначает условие, а то что в скобках, что надо проверить.</p>
<p>Тег Input обозначает вводную информацию т.е. кнопку.</p>
<p>Тег GetButtonDown обозначает нажатие кнопки мыши. Если написать GetButton то действие будет повторяться все время пока будет зажата кнопка.</p>
<p>Тег Fire1 означает левую кнопку мыши.</p>
<p>var instantiatedProjectile : Rigidbody =Instantiate( projectile, transform.position, transform.rotation ); &#8211; копирует объект указанный в переменной projectile и указывает его параметры нахождения в пространстве, а именно родительские. К примеру если мы повесим перед Fest Persen Controller куб и привяжем у нему этот скрипт и укажем в переменную projectile перфаб этого куба то при нажатии левой кнопки мыши создаться куб (перфаб) на месте куба который пере нашим FPC. А если у нашего куба есть Collider(колайдер) и  Rigidbody то созданный куб отлетит по всем законам физики.</p>
<p>projectile &#8211; переменная. В данном случае эту переменную я написал что бы казать что именно создавать, значение этой переменной мы задаём с помощью строчки в самом начале, а именно: var projectile : Rigidbody; . Не забывайте то что значение переменной Projectile мы задаём в Unity</p>
<p>transform.position &#8211; обозначает положение в пространстве, в данном случае он наследует родительские параметры.</p>
<p>transform.rotation &#8211; обозначает вращение в пространстве, в данном случае он наследует родительские параметры.</p>
<p>Точка с запятой обязательны(!) да бы скрипт благополучно работал и Unity не жаловался.</p>
<p>if (Input.GetKeyDown(&#8220;t&#8221;)) &#8211; думаю объяснять не надо ибо я описал всё описал выше</p>
<p>GetKeyDown &#8211; обозначает нажатие клавиши клавиатруы или геймпада.</p>
<p>transform.localPosition += Vector3(0, 0, 1);   &#8211; смещение в пространстве по оси Z т.е. вперёд относительно локальной измерительной сетки. Отличие локальной сетки и глобальной я опишу в следующем посте.</p>
<p>transform.localPosition &#8211; означает изменения позиции относительно локальной сетки</p>
<p>Vector3(0, 0, 1) &#8211; означает перемещения в пространстве по оси z</p>
<p>+= означает что к исходным значениям (в данный момент) прибавиться другое значени.</p>
<p>В следующем посте я напишу урок по применению данного скрипта, точнее пример.</p>
<p>Всем спасибо за внимание! Удачи в разработках! <img src='http://blogs.unity3d.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=6.4" /></div><div>Rating: 6.4/<strong>10</strong> (11 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/10/%d0%b0%d0%b7%d1%8b-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Новый пользователь Unity!</title>
		<link>http://blogs.unity3d.ru/2011/10/%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d0%b5%d0%bb%d1%8c-unity/</link>
		<comments>http://blogs.unity3d.ru/2011/10/%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d0%b5%d0%bb%d1%8c-unity/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 18:05:56 +0000</pubDate>
		<dc:creator>Kakiho</dc:creator>
				<category><![CDATA[Разговоры.]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1076</guid>
		<description><![CDATA[Хай!
Мой ник Kakiho.
И в этом блоге я буду описывать всё свой продвижение в Unity!
Завтра я отпишусь о сегодняшних моих достижениях, а именно:
управление объектом в игре относительно камеры (закончил)
и ракета которая будет лететь за целью (пока что не оч получается)
P.S. Если у администрации сайта есть ко мне претензии то прошу обращаться:
Skype: dark-slear09
Mail.ru: dark-slear09@mail.ru
Rating: 4.4/10 (5 votes [...]<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=4.4" /></div><div>Rating: 4.4/<strong>10</strong> (5 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p>Хай!</p>
<p>Мой ник Kakiho.</p>
<p>И в этом блоге я буду описывать всё свой продвижение в Unity!</p>
<p>Завтра я отпишусь о сегодняшних моих достижениях, а именно:</p>
<p>управление объектом в игре относительно камеры (закончил)</p>
<p>и ракета которая будет лететь за целью (пока что не оч получается)</p>
<p>P.S. Если у администрации сайта есть ко мне претензии то прошу обращаться:</p>
<p>Skype: dark-slear09</p>
<p>Mail.ru: dark-slear09@mail.ru</p>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=4.4" /></div><div>Rating: 4.4/<strong>10</strong> (5 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/10/%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d0%b5%d0%bb%d1%8c-unity/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mouse Over GUI</title>
		<link>http://blogs.unity3d.ru/2011/07/mouse-over-gui/</link>
		<comments>http://blogs.unity3d.ru/2011/07/mouse-over-gui/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 06:34:57 +0000</pubDate>
		<dc:creator>Neodrop</dc:creator>
				<category><![CDATA[WIKI : GUI]]></category>
		<category><![CDATA[Школа : С# для начинающих]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1070</guid>
		<description><![CDATA[Малюсенький класс с очень полезной реализацией &#8211; затратив минимум усилий, вы всегда будете знать, находится ли мышь над каким-нибудь GUI элементом.
Использование : Просто проверить Event.current.mousePosition на попадание в контроллируемый рект.
Предположим, у вас есть панелька, на ней две кнопки и поле ввода текста. Кнопки и ввод текста проверять нет смысла, а вот панельку стоит проверить. Если [...]<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (4 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p>Малюсенький класс с очень полезной реализацией &#8211; затратив минимум усилий, вы всегда будете знать, находится ли мышь над каким-нибудь GUI элементом.</p>
<p>Использование : Просто проверить Event.current.mousePosition на попадание в контроллируемый рект.<br />
Предположим, у вас есть панелька, на ней две кнопки и поле ввода текста. Кнопки и ввод текста проверять нет смысла, а вот панельку стоит проверить. Если она рисуется не лайоутами, то просто проверяете её рект, если наоборот, то используете <a href="http://unity3d.com/support/documentation/ScriptReference/GUILayoutUtility.GetLastRect.html">GUILayoutUtility.GetLastRect</a> и назначаете значение GlobalGUI.MouseOverGUI<br />
Интересует только положительное значение. False же выставится автоматом, если в последнем кадре ни разу небыло TRUE установки.</p>
<p>Вот и всё. Проверил Rect, назначил состояние переменной и забыл о ней. Она обнулится (встанет на False) сама, об этом не стоит беспокоиться.<br />
:-h</p>
<p><ins datetime="2011-07-09T06:29:50+00:00"> </ins></p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:800px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">class</span> GlobalGUI<br />
&nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">bool</span> MouseOverGUI<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">return</span> Time.<span style="color: #0000FF;">renderedFrameCount</span> <span style="color: #008000;">&lt;=</span> _lastFrameOverGUI <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>value<span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _lastFrameOverGUI <span style="color: #008000;">=</span> Time.<span style="color: #0000FF;">renderedFrameCount</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">int</span> _lastFrameOverGUI<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (4 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/07/mouse-over-gui/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Заливка Texture2D на сервер с помощью PHP</title>
		<link>http://blogs.unity3d.ru/2011/04/%d0%b7%d0%b0%d0%bb%d0%b8%d0%b2%d0%ba%d0%b0-texture2d-%d0%bd%d0%b0-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-php/</link>
		<comments>http://blogs.unity3d.ru/2011/04/%d0%b7%d0%b0%d0%bb%d0%b8%d0%b2%d0%ba%d0%b0-texture2d-%d0%bd%d0%b0-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-php/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 23:14:21 +0000</pubDate>
		<dc:creator>Avatarchik</dc:creator>
				<category><![CDATA[Unity3D : Школа]]></category>
		<category><![CDATA[WIKI : Сеть]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1055</guid>
		<description><![CDATA[
И так создаем на сервере файлик uploadScreenShot.php с таким содержанием:

&#60;?php
// Если upload файла
if(isset($_FILES["fileUpload"]))
{
$myfile = $_FILES["fileUpload"]["tmp_name"]; //Имя файла на нашем сервере (во время запроса)
$myfile_name = $_FILES["fileUpload"]["name"]; //Имя файла на компьютере пользователя
$myfile_size = $_FILES["fileUpload"]["size"]; //MIME-тип файла
$myfile_type = $_FILES["fileUpload"]["type"]; //Размер файла
$error_flag = $_FILES["fileUpload"]["error"];
// Если ошибок не было
if($error_flag == 0)
{
// Получаем содержимое файла
$fp = fopen($myfile,&#8221;r&#8221;) or die(&#8220;Can&#8217;t open file&#8221;);
$content [...]<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=9.4" /></div><div>Rating: 9.4/<strong>10</strong> (8 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p><span id="more-1055"></span><br />
И так создаем на сервере файлик <a href="http://dl.dropbox.com/u/8463900/Tutorials/uploadScreenShot/uploadScreenShot.php" target="_blank">uploadScreenShot.php</a> с таким содержанием:</p>
<blockquote>
<div>&lt;?php</div>
<div>// Если upload файла</div>
<div>if(isset($_FILES["fileUpload"]))</div>
<div>{</div>
<div>$myfile = $_FILES["fileUpload"]["tmp_name"]; //Имя файла на нашем сервере (во время запроса)</div>
<div>$myfile_name = $_FILES["fileUpload"]["name"]; //Имя файла на компьютере пользователя</div>
<div>$myfile_size = $_FILES["fileUpload"]["size"]; //MIME-тип файла</div>
<div>$myfile_type = $_FILES["fileUpload"]["type"]; //Размер файла</div>
<div>$error_flag = $_FILES["fileUpload"]["error"];</div>
<div>// Если ошибок не было</div>
<div>if($error_flag == 0)</div>
<div>{</div>
<div>// Получаем содержимое файла</div>
<div>$fp = fopen($myfile,&#8221;r&#8221;) or die(&#8220;Can&#8217;t open file&#8221;);</div>
<div>$content = fread($fp, filesize($myfile));</div>
<div>fclose($fp);</div>
<div>$fr = fopen($myfile_name, &#8216;w&#8217;) or die(&#8220;Can&#8217;t open file&#8221;);</div>
<div>fwrite($fr, $content);</div>
<div>fclose($fr);</div>
<div>echo &#8220;Finished Uploading Screenshot&#8221;;</div>
<div>}</div>
<div>}</div>
<div>?&gt;</div>
<p>&lt;?php  // Если upload файла     if(isset($_FILES["fileUpload"]))     {         $myfile = $_FILES["fileUpload"]["tmp_name"]; //Имя файла на нашем сервере (во время запроса)        $myfile_name = $_FILES["fileUpload"]["name"]; //Имя файла на компьютере пользователя        $myfile_size = $_FILES["fileUpload"]["size"]; //MIME-тип файла        $myfile_type = $_FILES["fileUpload"]["type"]; //Размер файла        $error_flag = $_FILES["fileUpload"]["error"];<br />
// Если ошибок не было         if($error_flag == 0)         {			 // Получаем содержимое файла             $fp = fopen($myfile,&#8221;r&#8221;) or die(&#8220;Can&#8217;t open file&#8221;);             $content = fread($fp, filesize($myfile));             fclose($fp);						$fr = fopen($myfile_name, &#8216;w&#8217;) or die(&#8220;Can&#8217;t open file&#8221;);			fwrite($fr, $content);			fclose($fr);             echo &#8220;Finished Uploading Screenshot&#8221;;		}     } ?&gt;</p></blockquote>
<p>Создаем скрипт <a href="http://dl.dropbox.com/u/8463900/Tutorials/uploadScreenShot/ScreenShotUpload.cs" target="_blank">ScreenShotUpload.cs</a> с таким содержанием:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:800px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br /></div></td><td><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0600FF;">using</span> <span style="color: #008080;">UnityEngine</span><span style="color: #008000;">;</span><br />
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> ScreenShotUpload <span style="color: #008000;">:</span> MonoBehaviour <span style="color: #000000;">&#123;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #0600FF;">public</span> Texture2D tex<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; <br />
<br />
&nbsp; &nbsp; <span style="color: #0600FF;">void</span> Start<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; UploadPNG<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;http://mysite.ru/uploadScreenShot.php&quot;</span>, tex<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #0600FF;">void</span> UploadPNG<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> url,Texture2D texture<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #FF0000;">byte</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> pngData<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>texture.<span style="color: #0000FF;">format</span> <span style="color: #008000;">!=</span> TextureFormat.<span style="color: #0000FF;">ARGB32</span> <span style="color: #008000;">&amp;</span>amp<span style="color: #008000;">;&amp;</span>amp<span style="color: #008000;">;</span> texture.<span style="color: #0000FF;">format</span> <span style="color: #008000;">!=</span> TextureFormat.<span style="color: #0000FF;">RGB24</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Texture2D newTexture <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Texture2D<span style="color: #000000;">&#40;</span>texture.<span style="color: #0000FF;">width</span>, texture.<span style="color: #0000FF;">height</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newTexture.<span style="color: #0000FF;">SetPixels</span><span style="color: #000000;">&#40;</span>texture.<span style="color: #0000FF;">GetPixels</span><span style="color: #000000;">&#40;</span>0<span style="color: #000000;">&#41;</span>, 0<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; texture <span style="color: #008000;">=</span> newTexture<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pngData <span style="color: #008000;">=</span> texture.<span style="color: #0000FF;">EncodeToPNG</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>pngData <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WWWForm form <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WWWForm<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; form.<span style="color: #0000FF;">AddBinaryData</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;fileUpload&quot;</span>, pngData, <span style="color: #666666;">&quot;screenShotName.png&quot;</span>, <span style="color: #666666;">&quot;image/png&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WWW www <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WWW<span style="color: #000000;">&#40;</span>url, form<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; StartCoroutine<span style="color: #000000;">&#40;</span>WaitForRequest<span style="color: #000000;">&#40;</span>www<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
<br />
&nbsp; &nbsp; IEnumerator WaitForRequest<span style="color: #000000;">&#40;</span>WWW www<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; yield <span style="color: #0600FF;">return</span> www<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>www.<span style="color: #0000FF;">error</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Debug.<span style="color: #0000FF;">Log</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Ошибка: &quot;</span> <span style="color: #008000;">+</span> www.<span style="color: #0000FF;">error</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span> <span style="color: #0600FF;">else</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Debug.<span style="color: #0000FF;">Log</span><span style="color: #000000;">&#40;</span>www.<span style="color: #0000FF;">text</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
<br />
<br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p>Все!!! наши картинки теперь можно лить на сервер!!! <img src='http://blogs.unity3d.ru/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </p>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=9.4" /></div><div>Rating: 9.4/<strong>10</strong> (8 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/04/%d0%b7%d0%b0%d0%bb%d0%b8%d0%b2%d0%ba%d0%b0-texture2d-%d0%bd%d0%b0-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Еще один пример расширения редактора Unity</title>
		<link>http://blogs.unity3d.ru/2011/02/extending-unity-editor-2/</link>
		<comments>http://blogs.unity3d.ru/2011/02/extending-unity-editor-2/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 11:21:37 +0000</pubDate>
		<dc:creator>PAX</dc:creator>
				<category><![CDATA[Новости]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[уроки]]></category>
		<category><![CDATA[Школа Unity3D]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1051</guid>
		<description><![CDATA[Сегодня хочу поделиться еще одним простым способом добавления собственных функций в редактор Unity, а именно использованию класса ScriptableWizard.
Так же как и в прошлый раз я реализую функцию LookAt, но с использованием других средств.
Итак разбираем код:



Не забываем называть скрипт правильно (LookAtWizard.cs) и положить его в папку с названием Editor.
Вот и результат:

Rating: 8.8/10 (9 votes cast)<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=8.8" /></div><div>Rating: 8.8/<strong>10</strong> (9 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<div>Сегодня хочу поделиться еще одним простым способом добавления собственных функций в редактор Unity, а именно использованию класса ScriptableWizard.</div>
<div><span id="more-1051"></span>Так же как и в прошлый раз я реализую функцию LookAt, но с использованием других средств.</p>
<p>Итак разбираем код:</p>
</div>
<div><div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Нажмите, чтобы показать или скрыть блок кода">Исходный код</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Показать код отдельно"><img border="0" style="border: 0 none" src="http://blogs.unity3d.ru/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Напечатать код"><img border="0" style="border: 0 none" src="http://blogs.unity3d.ru/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://blogs.unity3d.ru/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Показать информацию о плагине"><img border="0" style="border: 0 none" src="http://blogs.unity3d.ru/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">using</span> <span class="co3">UnityEditor</span><span class="sy0">;</span>
<span class="kw1">using</span> <span class="co3">UnityEngine</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">public</span> <span class="kw4">class</span> LookAtWizard <span class="sy0">:</span> ScriptableWizard
<span class="br0">&#123;</span>
    <span class="co1">// две публичные переменные, которые будут параметрами визарда</span>
    <span class="kw1">public</span> Transform source<span class="sy0">;</span> <span class="co1">// объект для поворота</span>
    <span class="kw1">public</span> Transform target<span class="sy0">;</span> <span class="co1">// цель</span>
&nbsp;
    <span class="co1">// регистрация функции создания визарда в меню Unity</span>
    <span class="br0">&#91;</span>MenuItem<span class="br0">&#40;</span><span class="st0">&quot;Window/Look At Wizard&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>
    <span class="kw1">static</span> <span class="kw1">void</span> CreateWizard<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// создаем визард с одной кнопкой &quot;Look At!&quot;</span>
        ScriptableWizard.<span class="me1">DisplayWizard</span><span class="sy0">&lt;</span>LookAtWizard<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="st0">&quot;Look At&quot;</span>, <span class="st0">&quot;Look At!&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="co1">// если необходимо реализовать вторую</span>
        <span class="co1">// кнопку, то можно воспользоваться</span>
        <span class="co1">// другой перегрузкой метода</span>
        <span class="co1">// ScriptableWizard.DisplayWizard&lt;&gt;</span>
        <span class="co1">// и реализовать функцию</span>
        <span class="co1">// void OnWizardOtherButton ()</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="co1">// флаг успешной настройки визарда</span>
    <span class="kw1">private</span> <span class="kw4">bool</span> _wizardOk <span class="sy0">=</span> false<span class="sy0">;</span>
&nbsp;
    <span class="co1">// выполнение функции визарда - OnWizardCreate()</span>
    <span class="kw1">void</span> OnWizardCreate<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// выполняем только когда исходные данные верны</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>_wizardOk<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            source.<span class="me1">LookAt</span><span class="br0">&#40;</span>target<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="co1">// функция выполняется при создании визарда</span>
    <span class="co1">// и при изменении исходных данных пользователем</span>
    <span class="kw1">void</span> OnWizardUpdate<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        _wizardOk <span class="sy0">=</span> false<span class="sy0">;</span>
        <span class="co1">// один из параметров не указан</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>source <span class="sy0">==</span> <span class="kw1">null</span> <span class="sy0">||</span> target <span class="sy0">==</span> <span class="kw1">null</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span class="co1">// helpString выдает подсказки пользователю</span>
            helpString <span class="sy0">=</span> <span class="st0">&quot;Selcect Source and Target!&quot;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
        <span class="co1">// если цель и объект совпадают</span>
        <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>source <span class="sy0">==</span> target<span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span>source <span class="sy0">!=</span> <span class="kw1">null</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            helpString <span class="sy0">=</span> <span class="st0">&quot;Source equals Target!&quot;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
        <span class="kw1">else</span>
        <span class="br0">&#123;</span>
            <span class="co1">// все проверки пройдены</span>
            helpString <span class="sy0">=</span> <span class="st0">&quot;Press <span class="es0">\&quot;</span>Look At!<span class="es0">\&quot;</span>!&quot;</span><span class="sy0">;</span>
            _wizardOk <span class="sy0">=</span> true<span class="sy0">;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div></p>
</div>
<div>Не забываем называть скрипт правильно (LookAtWizard.cs) и положить его в папку с названием Editor.</div>
<p>Вот и результат:</p>
<p><img src="http://gyazo.com/71e2520b4c3dabd8370c08907af371f8.png" alt="" width="343" height="281" /></p>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=8.8" /></div><div>Rating: 8.8/<strong>10</strong> (9 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/02/extending-unity-editor-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Продолжаем расширять редактор</title>
		<link>http://blogs.unity3d.ru/2011/01/extending-unity-editor-part2/</link>
		<comments>http://blogs.unity3d.ru/2011/01/extending-unity-editor-part2/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 12:51:13 +0000</pubDate>
		<dc:creator>PAX</dc:creator>
				<category><![CDATA[WIKI : Editor]]></category>
		<category><![CDATA[WIKI : Расширение функционала Unity]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[уроки]]></category>

		<guid isPermaLink="false">http://blogs.unity3d.ru/?p=1047</guid>
		<description><![CDATA[Сейчас я хочу рассказать о том, как создавать собственные окна на основе реализации простой функции LookAt.

Я честно говоря не знаю, есть ли такая нативная функция (сочетание клавиш). Но на ее примере очень легко продемонстрировать то, как можно расширять редактор своими утилитами.
Итак что мы должны сделать, чтобы создать собственное окошко:

Создать класс унаследованный от класса EditorWindow, который [...]<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (10 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></description>
			<content:encoded><![CDATA[<p>Сейчас я хочу рассказать о том, как создавать собственные окна на основе реализации простой функции LookAt.<br />
<span id="more-1047"></span><br />
Я честно говоря не знаю, есть ли такая нативная функция (сочетание клавиш). Но на ее примере очень легко продемонстрировать то, как можно расширять редактор своими утилитами.</p>
<p>Итак что мы должны сделать, чтобы создать собственное окошко:</p>
<ol>
<li>Создать класс унаследованный от класса EditorWindow, который находится в пространстве имен UnityEditor.</li>
<li>Добавить статический метод создания окна.</li>
<li>Пометить этот метод атрибутом MenuItem, чтобы зарегистрировать его в контекстном меню редактора.</li>
<li>Реализовать у класса метод OnGUI, выполняющий отрисовку содержимого.</li>
<li>Не забыть положить свой созданный класс в папку с названием Editor, т.к. это расширение редактора.</li>
</ol>
<p>Итак реализация:<br />
LookAtWindow.cs</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Нажмите, чтобы показать или скрыть блок кода">Исходный код</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Показать код отдельно"><img border="0" style="border: 0 none" src="http://blogs.unity3d.ru/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Напечатать код"><img border="0" style="border: 0 none" src="http://blogs.unity3d.ru/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://blogs.unity3d.ru/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Показать информацию о плагине"><img border="0" style="border: 0 none" src="http://blogs.unity3d.ru/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">using</span> <span class="co3">UnityEngine</span><span class="sy0">;</span>
<span class="kw1">using</span> <span class="co3">UnityEditor</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">public</span> <span class="kw4">class</span> LookAtWindow <span class="sy0">:</span> EditorWindow
<span class="br0">&#123;</span>
&nbsp;
    <span class="co1">// Регистрируем пункт меню и функцию, выполняющую открытие окна</span>
    <span class="br0">&#91;</span>MenuItem<span class="br0">&#40;</span><span class="st0">&quot;Window/Look At Window&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>
    <span class="kw1">public</span> <span class="kw1">static</span> <span class="kw1">void</span> CreateWindow<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        LookAtWindow window <span class="sy0">=</span> GetWindow<span class="sy0">&lt;</span>LookAtWindow<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        window.<span class="me1">title</span> <span class="sy0">=</span> <span class="st0">&quot;Look At Window&quot;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="co1">// объект для поворота</span>
    <span class="kw1">public</span> Transform source<span class="sy0">;</span>
    <span class="co1">// цель</span>
    <span class="kw1">public</span> Transform target<span class="sy0">;</span>
&nbsp;
    <span class="co1">// Функция отрисовки окна</span>
    <span class="kw1">public</span> <span class="kw1">void</span> OnGUI<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// поле для указания исходного объекта</span>
        GUILayout.<span class="me1">BeginHorizontal</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        GUILayout.<span class="me1">Label</span><span class="br0">&#40;</span><span class="st0">&quot;Source:&quot;</span>, GUILayout.<span class="me1">Width</span><span class="br0">&#40;</span>120<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        source <span class="sy0">=</span> <span class="br0">&#40;</span>Transform<span class="br0">&#41;</span>EditorGUILayout.<span class="me1">ObjectField</span><span class="br0">&#40;</span>source, <a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><span class="kw3">typeof</span></a><span class="br0">&#40;</span>Transform<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        GUILayout.<span class="me1">EndHorizontal</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="co1">// поле для указания цели</span>
        GUILayout.<span class="me1">BeginHorizontal</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        GUILayout.<span class="me1">Label</span><span class="br0">&#40;</span><span class="st0">&quot;Target:&quot;</span>, GUILayout.<span class="me1">Width</span><span class="br0">&#40;</span>120<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        target <span class="sy0">=</span> <span class="br0">&#40;</span>Transform<span class="br0">&#41;</span>EditorGUILayout.<span class="me1">ObjectField</span><span class="br0">&#40;</span>target, <a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><span class="kw3">typeof</span></a><span class="br0">&#40;</span>Transform<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        GUILayout.<span class="me1">EndHorizontal</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="co1">// запоминаем текущий цвет GUI для восстановления</span>
        Color oldColor <span class="sy0">=</span> GUI.<span class="me1">color</span><span class="sy0">;</span>
&nbsp;
        <span class="co1">// проверяем наричие объекта для поворота и цели</span>
        <span class="kw4">bool</span> flag <span class="sy0">=</span> false<span class="sy0">;</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>source <span class="sy0">==</span> <span class="kw1">null</span> <span class="sy0">||</span> target <span class="sy0">==</span> <span class="kw1">null</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            GUI.<span class="me1">color</span> <span class="sy0">=</span> Color.<span class="me1">red</span><span class="sy0">;</span>
            GUILayout.<span class="me1">Label</span><span class="br0">&#40;</span><span class="st0">&quot;Selcect Source and Target!&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            flag <span class="sy0">=</span> true<span class="sy0">;</span>
            GUI.<span class="me1">color</span> <span class="sy0">=</span> oldColor<span class="sy0">;</span>
        <span class="br0">&#125;</span>
&nbsp;
        <span class="co1">// если цель является объектом</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>source <span class="sy0">==</span> target<span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <span class="sy0">!</span>flag<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            GUI.<span class="me1">color</span> <span class="sy0">=</span> Color.<span class="me1">red</span><span class="sy0">;</span>
            GUILayout.<span class="me1">Label</span><span class="br0">&#40;</span><span class="st0">&quot;Source equals Target!&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            GUI.<span class="me1">color</span> <span class="sy0">=</span> oldColor<span class="sy0">;</span>
        <span class="br0">&#125;</span>
&nbsp;
        <span class="co1">// Делаем кнопку неактивной если не выполняется условие</span>
        GUI.<span class="me1">enabled</span> <span class="sy0">=</span> <span class="sy0">!</span>flag <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span>source <span class="sy0">!=</span> target<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="co1">// свободное место</span>
        GUILayout.<span class="me1">FlexibleSpace</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="co1">// кнопка, выполняющая действие</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>GUILayout.<span class="me1">Button</span><span class="br0">&#40;</span><span class="st0">&quot;Look At&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            source.<span class="me1">LookAt</span><span class="br0">&#40;</span>target<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
&nbsp;
        <span class="co1">// снова активируем GUI</span>
        GUI.<span class="me1">enabled</span> <span class="sy0">=</span> true<span class="sy0">;</span>
        GUILayout.<span class="me1">Space</span><span class="br0">&#40;</span>8<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<p><strong>Результаты.</strong><br />
Состав проекта:<br />
<img src="http://gyazo.com/6ecbca55faac1ce5f10db0ce84313c49.png" border="0" alt="" /></p>
<p>Контекстное меню:<br />
<img src="http://gyazo.com/87e56471ce8267b9db63772e2c715a0e.png" border="0" alt="" /></p>
<p>Само окно встроенное в оболочку:<br />
<img src="http://gyazo.com/b5aafa6cc7a0e1c406ac46621561cb9d.png" border="0" alt="" /></p>
<p>Вот в принципе и все, о чем хотел рассказать. Удачи!</p>
<br /><div><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (10 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://blogs.unity3d.ru/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />]]></content:encoded>
			<wfw:commentRss>http://blogs.unity3d.ru/2011/01/extending-unity-editor-part2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

