Пятница, 26 Апреля 2024, 14:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум игроделов » Записи участника » AtomKrieg [34]
Результаты поиска
AtomKriegДата: Суббота, 05 Марта 2011, 12:52 | Сообщение # 21 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Quote (Lord_F)
"Cannot modify a value type return value of `UnityEngine.Transform.position'. Consider storing the value in a temporary variable"

Если надо поменять параметры х, у, z:

Code
transform.positition = new Vector3(x,y,z);


Сообщение отредактировал AtomKrieg - Суббота, 05 Марта 2011, 12:52
AtomKriegДата: Четверг, 03 Марта 2011, 17:22 | Сообщение # 22 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
ну в OnTriggerEnter написано, что тоже требуется ригидбади, но не написано должно ли оно быть non-kinematic. Спасение это возможно использование collider.bounds или пересмотреть задачу.
AtomKriegДата: Четверг, 03 Марта 2011, 16:34 | Сообщение # 23 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Quote (Eye)
Помогите, пожалуйста. Надо чтобы при любом коллайдинге с объектом (на нем этот скрипт), ему через секунду добавляется ригидбоди.

http://unity3d.com/support/documentation/ScriptReference/Collider.OnCollisionEnter.html
"Note that collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached."

Вы хотите странного. Тут написано, что OnCollisionEnter срабатывает если хотя бы на одном из объектов есть ригидбоди. А если на сцене есть объекты только с коллайдером, но без ригидбади, то этот фокус не пройдет.

AtomKriegДата: Четверг, 03 Марта 2011, 16:06 | Сообщение # 24 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
transform.LookAt(camera.current.transform);
transfrom.Rotate(0,-90,0);
AtomKriegДата: Четверг, 03 Марта 2011, 15:15 | Сообщение # 25 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Ну вообще-то это не поворот на 90град. Это ты к позиции камеры прибавляешь -90 по оси у, и направляешь туда иконку.
AtomKriegДата: Четверг, 03 Марта 2011, 13:25 | Сообщение # 26 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Code
Quote (andarky)
как мне сделать чтоб спрайт был лицом к камере и при движении по оY.

transform.LookAt(Camera.current.transform);

ты вот это читал?

AtomKriegДата: Четверг, 03 Марта 2011, 12:40 | Сообщение # 27 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Используй GuiTexture, всегда повернуты фейсом к камере. И вот эта функция поможет вычислить их координаты : Camera.WorldToScreenPoint
AtomKriegДата: Четверг, 03 Марта 2011, 11:34 | Сообщение # 28 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Quote (andarky)
как мне сделать чтоб спрайт был лицом к камере и при движении по оY.

transform.LookAt(Camera.current.transform);

AtomKriegДата: Понедельник, 28 Февраля 2011, 10:55 | Сообщение # 29 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Quote (Eye)
Ребят, помогите написать скрипт.
При наведении на спец. объект (тег) и нажатии ЛКМ он исчезает. При нажатии в любом месте опять ЛКМ, он появляется на том месте, куда навели. Нужно чтобы еще он придерживался спец. высоты.
Нужно копать в сторону лучей - но я до сей поры с ними не разобрался.
Заранее благодарю.

как-то примерно так:

Code
private GameObject objToHideInsert;

if (Input.GetMouseButtonDown(0) && (objToHideInsert == null))
{
    Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
    RaycastHit rcHit;
    if (Physics.Raycast (ray, out rcHit))
    {   
       if (rcHit.collider.gameObject.tag = "TheTag")
       {
         objToHideInsert = rcHit.collider.gameObject;
         objToHideInsert.transform = new Vector3(99999,99999,99999); // или любой другой код чтобы скрыть объект с поля зрения.
       }
    }
}

Для того чтобы поставить объект на определенную высоту (если я правильно понимаю что ты хочешь реализовать) тебе нужна плоскость и делать проверку на пересечение с ней. На всех объектах должны быть коллайдеры.

Code

if (Input.GetMouseButtonDown(0) && (objToHideInsert != null))
{
    Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
    RaycastHit rcHit;
    if (Physics.Raycast (ray, out rcHit))
    {   
       if (rcHit.collider.gameObject.name = "planeForRaycast")
       {
         objToHideInsert.position = rcHit.point;
         objToHideInsert = null;
       }
    }
}

Либо через это: http://unity3d.com/support/documentation/ScriptReference/Plane.Raycast.html

Сообщение отредактировал AtomKrieg - Понедельник, 28 Февраля 2011, 20:38
AtomKriegДата: Пятница, 04 Февраля 2011, 21:04 | Сообщение # 30 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Quote (andarky)
как на GUI кнопках менять текстуру в зависимости от состояния (OnMouseDown/OnMouseUp)?

Прописать в GUI Skin.

AtomKriegДата: Вторник, 01 Февраля 2011, 13:14 | Сообщение # 31 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Quote (andarky)
как мне передать в Unity-WEB-окно переменную извне,
т.е. из HTML-страницы, на которой оно размещено?

unity official documentation

AtomKriegДата: Среда, 26 Января 2011, 19:13 | Сообщение # 32 | Тема: недостатки и плюсы движка
частый гость
Сейчас нет на сайте
Quote (andarky)
В C# шарпе пока не разбирался, но боюсь как-бы там таже фигня не получилась.

Если не сложно, приведи в пример пару строк кода для открытия документа из какой-то папки.

http://msdn.microsoft.com/en-us/library/system.io.file.aspx

внизу примеры.

AtomKriegДата: Среда, 19 Января 2011, 21:16 | Сообщение # 33 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Quote (SnakeR)
Теперь еще тогда вопрос, почему пишем здесь static var ???

http://unity3d.com/support/documentation/ScriptReference/index.Member_Variables_26_Global_Variables.html

AtomKriegДата: Среда, 19 Января 2011, 20:56 | Сообщение # 34 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Quote (SnakeR)
разделил на два скрипта

Script_name1

Code

static var go;   
static var rpm =2.0f;
static var bloc = 10.1f;   

function Start(){
go = rpm * bloc;
}

function Update () {
go = rpm * bloc;
}

Sctipt_name2

Code

function Update (){
if (Input.GetKey (KeyCode.LeftArrow))
      transform.Rotate(0, 0, Script_name1.go);

if (Input.GetKey (KeyCode.RightArrow))
      transform.Rotate(0, 0, -0.1);
}


Сообщение отредактировал AtomKrieg - Среда, 19 Января 2011, 20:59
Форум игроделов » Записи участника » AtomKrieg [34]
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг