Суббота, 16 Ноября 2024, 07:57

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • Nekit_AutДата: Среда, 25 Июля 2012, 16:25 | Сообщение # 2601
    The Dizziness - Man
    Сейчас нет на сайте
    Quote (DarkScorp24)
    Всем привет.
    Ребят, имеется ли возможность, наложить на модель несколько текстур в нужные места. У меня есть модель, но текстуры к ней разделены на : текстуры глаз, тела и т.д. Как наложить это все куда надо?

    Нужно несколько материалов на модели. В разных местах: где глаза, тело и т.д.
    В 3Д максе MaterialEditor в помощь! cool


    DarkScorp24Дата: Среда, 25 Июля 2012, 23:24 | Сообщение # 2602
    почетный гость
    Сейчас нет на сайте
    Как в MaterialEditor сделать это то? blink

    САТАНА
    sk0rpi0nДата: Четверг, 26 Июля 2012, 17:42 | Сообщение # 2603
    Tiberium
    Сейчас нет на сайте
    Привет! Опять столкнулся с проблемой при работе с лучами(так и не пойму, как по мне - жуткая кривота, но скорей всего это просто я туплю), нужно, чтобы при нажатии кнопки мыши некий префаб(заранее заданный) перемещался в место клика(туда, где был курсор). Есть такой код:
    Code
    var ray:Ray = camera.ScreenPointToRay (Input.mousePosition);
    var hit:RaycastHit;
    Debug.DrawLine(transform.position,hit.point,Color.red);
    Pricel.transform.position=hit.point;

    Но линия и префаб в итоге оказываются в точке 0, 0, 0, как я не пытался. В чём причина?




    Adventures of the Purple Ball - готов.
    Wanderer - готов.
    Nekit_AutДата: Четверг, 26 Июля 2012, 17:56 | Сообщение # 2604
    The Dizziness - Man
    Сейчас нет на сайте
    DarkScorp24, через полигоны, модификатор Material и material editor.

    ЛевшаДата: Четверг, 26 Июля 2012, 18:54 | Сообщение # 2605
    почти ветеран
    Сейчас нет на сайте
    Quote (sk0rpi0n)
    при нажатии кнопки мыши некий префаб(заранее заданный) перемещался в место клика(туда, где был курсор).

    Code

    var plrCam : Camera;
    var moveSpeed : int = 5;
    var rotateSpeed : int = 1;
    var targPos : Vector3;

    function Update () {    
          if(Input.GetMouseButtonDown(0))  {
                  var ray = plrCam.ScreenPointToRay (Input.mousePosition);
                  var hit : RaycastHit;
             if (Physics.Raycast(ray, hit))   
                  targPos = hit.point;   
          }
                  var targDir = targPos - transform.position;
                  var targDist = Vector3.Distance(transform.position, targPos);
             if (targDist > 1.5) {
                  transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation(targDir), rotateSpeed * Time.deltaTime);
                  transform.rotation.z = 0;  transform.rotation.x = 0;
                  transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
             }
    }


    X.cor.R (Prologue)

    Сообщение отредактировал Левша - Четверг, 26 Июля 2012, 19:18
    Fr0sTДата: Четверг, 26 Июля 2012, 19:50 | Сообщение # 2606
    постоянный участник
    Сейчас нет на сайте
    Значит есть скрипт
    using UnityEngine;
    using System.Collections;

    [RequireComponent(typeof(CharacterController))]
    public class Controller : MonoBehaviour {

    public Vector3 moveDirection = Vector3.zero;
    public float speed = 2.0f;
    public float jumpSpeed = 8.0f;
    public float gravity = 20f;

    // Use this for initialization
    void Start ()
    {

    }

    // Update is called once per frame
    void Update ()
    {
    CharacterController controller = GetComponent<CharacterController>();
    if(controller.isGrounded)
    {
    moveDirection = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical"));
    transform.rotation = Quaternion.LookRotation(moveDirection);

    moveDirection *= speed;

    if(Input.GetButton("Jump"))
    moveDirection.y = jumpSpeed;
    }
    moveDirection.y -= gravity * Time.deltaTime;
    controller.Move(moveDirection * Time.deltaTime);

    }
    }
    Перс должен поворачиваться в ту сторону в которую он двигается,так и происходит,но когда я останавливаюсь то вместо того чтобы продолжить смотреть туда куда он смотрел он поворачивается в ту сторону в которую направлен изначально.Это конечно изза вот этого Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical") но как по другому направить moveDirection в сторону движения???






    Сообщение отредактировал Fr0sT - Четверг, 26 Июля 2012, 19:51
    ReSeRДата: Пятница, 27 Июля 2012, 00:01 | Сообщение # 2607
    постоянный участник
    Сейчас нет на сайте
    Подскажите как сделать так чтобы мой корабль не смог залитать за красные рамки? управление только влево - вправо.


    FastRoad[PC][Android](Забыто)
    COSMO 3D[PC][Android](Забыто)
    SnowBall[PC][Android](Замороженно)
    iNikitДата: Пятница, 27 Июля 2012, 00:42 | Сообщение # 2608
    участник
    Сейчас нет на сайте
    ReSeR, если его позиция по X меньше 5, то влево он не двигается. Если его позиция по X больше 5, то вправо он не двигается. Только вместо 5 подставь свои числа, которые соответствуют границам, за которые нельзя залетать happy


    Самый лучший юзер GCUP :3
    ReSeRДата: Пятница, 27 Июля 2012, 00:56 | Сообщение # 2609
    постоянный участник
    Сейчас нет на сайте
    iNikit, ну вот смотри я сделал типа этого

    Code
    if(transform.position.x >= - 5)
    {
    transform.Translate(-5,0,0);
    }


    но этот скрипт работает не правильно. Когда я залетаю на позицию 5 по оси х то меня тупо кидает в начало координат почему то.


    FastRoad[PC][Android](Забыто)
    COSMO 3D[PC][Android](Забыто)
    SnowBall[PC][Android](Замороженно)
    IIyxMASTERДата: Пятница, 27 Июля 2012, 07:19 | Сообщение # 2610
    постоянный участник
    Сейчас нет на сайте
    Вешай ограничение на саму кнопку, пресекай на корню движение, а не пытайся вернуть его на место

    Code
    if (Input.GetKeyDown(Кнопка влево))
    {
    //хз как там у тебя расположены объекты, но суть такова
    // если координата х у объекта больше, чем у ограничителя
    //то только тогда двигаем влево
    //без всяких возвратов при перелете координаты)
        if(transform.position.x > ограничитель.x)
        {
           //тут твой код движения влево
        }
    }


    Сообщение отредактировал IIyxMASTER - Пятница, 27 Июля 2012, 07:23
    KasperskyДата: Пятница, 27 Июля 2012, 08:20 | Сообщение # 2611
    частый гость
    Сейчас нет на сайте
    Проблемму в 2598м посту я решил, НО НА ВОПРОС В 2587 ПОСТУ МНЕ НИКТО НЕ ОТВЕТИЛ cry , пожайлуста помогите!!!
    pixeyeДата: Пятница, 27 Июля 2012, 10:42 | Сообщение # 2612
    Red Winter Software
    Сейчас нет на сайте
    Quote (Kaspersky)
    Проблемму в 2598м посту я решил, НО НА ВОПРОС В 2587 ПОСТУ МНЕ НИКТО НЕ ОТВЕТИЛ , пожайлуста помогите!!!

    Дублируй свои вопросы, 2587 пост был далеко, если вопрос очень большой, то создай тему по нему,


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    KasperskyДата: Пятница, 27 Июля 2012, 11:38 | Сообщение # 2613
    частый гость
    Сейчас нет на сайте
    Нужна помощь!Мне понадобилось воспроизведения анимации при входе в триггер, начал делать, добавление компонента "анимация" при входе в триггер - это я сделал, но я не смог указать имени анимации, и компонент должен добавлятся не триггеру, а обьекту .
    ЗЫ: использую Js.


    Сообщение отредактировал Kaspersky - Пятница, 27 Июля 2012, 12:14
    Fr0sTДата: Пятница, 27 Июля 2012, 12:14 | Сообщение # 2614
    постоянный участник
    Сейчас нет на сайте
    Ты бы лучше код выложил



    KasperskyДата: Пятница, 27 Июля 2012, 12:18 | Сообщение # 2615
    частый гость
    Сейчас нет на сайте
    Fr0sT,
    Code
    function OnTriggerEnter (other : Collider) {  
        if(other.gameObject.name == "Lift"){  
         other.gameObject.AddComponent(Animation);  
        
      }
      }
      
    pixeyeДата: Пятница, 27 Июля 2012, 12:56 | Сообщение # 2616
    Red Winter Software
    Сейчас нет на сайте
    Quote (Kaspersky)
    я не смог указать имени анимации, и компонент должен добавлятся не триггеру, а обьекту .


    Компонент анимации это еще не анимации. Тебе нужно копать в сторону работы с клипами (clips)


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    KasperskyДата: Пятница, 27 Июля 2012, 13:13 | Сообщение # 2617
    частый гость
    Сейчас нет на сайте
    pixeye, Непонял, всмысле сделать клип? Если да, то он готов.
    pixeyeДата: Пятница, 27 Июля 2012, 13:22 | Сообщение # 2618
    Red Winter Software
    Сейчас нет на сайте
    Quote (Kaspersky)
    pixeye, Непонял, всмысле сделать клип? Если да, то он готов.


    Ты клипы добавил в свой компонент анимации, чтобы работать с ними?


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    Fr0sTДата: Пятница, 27 Июля 2012, 13:29 | Сообщение # 2619
    постоянный участник
    Сейчас нет на сайте
    Kaspersky, просто напиши код для своего лифта,кгда твой перс входит в его триггер,то включается анимация лифта.



    KasperskyДата: Пятница, 27 Июля 2012, 13:29 | Сообщение # 2620
    частый гость
    Сейчас нет на сайте
    pixeye, Чет у меня котелок совсем не варит, в инспекторе что-ли?(дико извеняюсь за свой тупизм)
    Поиск:

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