Пятница, 15 Ноября 2024, 20:34

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • NEBRДата: Суббота, 22 Марта 2014, 14:04 | Сообщение # 5781
    почти ветеран
    Сейчас нет на сайте
    Voresh, посмотри под окном game разрешение экрана в данный момент. Возьми какой нибудь геймОбъект, поставь его на левый край экрана, зафиксирую положение. Потом его на правый край, зафиксируй положение. Сложи эти два показателя (например по оси Х) и раздели на разрешение экрана по Х - полученный результат и есть один пиксель. Двигай в трансформе объект вправо, приклюсовав это значение

    King Size #Gamiron12
    lentinantДата: Суббота, 22 Марта 2014, 15:12 | Сообщение # 5782
    ленивый программист
    Сейчас нет на сайте
    При импорте спрайта ты указываешь такой параметр, как Pixels per unit, который обозначает, как ни странно, сколько пикселей этой картинки будет считаться как один юнит. И есть такая штука, как размер ортографической камеры, который показывает, окружность какого радиуса вписывается в экран (проще говоря, двойное значение этого размера даст тебе расстояние от верхнего края до нижнего в юнитах). Попиксельная прорисовка спрайта (чтобы параметры размеров экрана и спрайта совпадали) реализуется соответственным выставлением параметра размера. Например, если у тебя спрайт 100 на 100 пикселей, и высота экрана 800 пикселей, ты можешь выставить его параметр Pixels per unit на 100, и выставить параметр размера камеры 4. В этом же примере одному пикселю соответствует одна сотая юнита.

    Когда-то тут будут ссылки на крутые проекты. Или нет.

    Сообщение отредактировал lentinant - Суббота, 22 Марта 2014, 15:13
    NEBRДата: Суббота, 22 Марта 2014, 15:20 | Сообщение # 5783
    почти ветеран
    Сейчас нет на сайте
    lentinant, отлично расписал!

    King Size #Gamiron12
    AdomДата: Среда, 26 Марта 2014, 09:48 | Сообщение # 5784
    Печенька!
    Сейчас нет на сайте
    Вот такой вопрос как можно запустить физический объект по лучу ? Т.е что бы он летел именно прямо по лучу и никуда больше ?
    PoqXertДата: Среда, 26 Марта 2014, 10:02 | Сообщение # 5785
    постоянный участник
    Сейчас нет на сайте
    Цитата Adom ()
    Вот такой вопрос как можно запустить физический объект по лучу ? Т.е что бы он летел именно прямо по лучу и никуда больше ?

    Создаёшь объект в точке начала луча и двигаешь в направлении, в котором пускал луч.


    Расширения для Unity3D
    Блог программиста - PoqXert.ru
    AdomДата: Среда, 26 Марта 2014, 11:26 | Сообщение # 5786
    Печенька!
    Сейчас нет на сайте
    PoqXert, Оу об этом я не подумал )) Спасибо
    SkorpyXДата: Четверг, 27 Марта 2014, 17:04 | Сообщение # 5787
    участник
    Сейчас нет на сайте
    Здравствуйте! В Unity3D в standart assets (mobile)/materials есть материал mobile skybox, когда я применяю его к скайбоксу получается это: Помогите исправить!
    Storm54Дата: Пятница, 28 Марта 2014, 12:13 | Сообщение # 5788
    постоянный участник
    Сейчас нет на сайте
    Цитата SkorpyX ()
    Здравствуйте! В Unity3D в standart assets (mobile)/materials есть материал mobile skybox, когда я применяю его к скайбоксу получается это: Помогите исправить!

    В теме ответил.
    Fr0sTДата: Пятница, 28 Марта 2014, 18:17 | Сообщение # 5789
    постоянный участник
    Сейчас нет на сайте
    Подскажите как сделать чтобы перс двигался относительно камеры.Есть вектор
    moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
    пробовал делать через Transform.InverseTransformPoint но у меня ничего не вышло.




    lentinantДата: Пятница, 28 Марта 2014, 23:06 | Сообщение # 5790
    ленивый программист
    Сейчас нет на сайте
    можно использовать transform.forward камеры. Ну или transform.up, transform.left и т.д..

    Когда-то тут будут ссылки на крутые проекты. Или нет.
    AdomДата: Суббота, 29 Марта 2014, 19:45 | Сообщение # 5791
    Печенька!
    Сейчас нет на сайте
    Насколько я понял DragRigidbody реагирует на крусор а в игре у меня этот курсор скрыт как-быть ?
    Patric2014Дата: Четверг, 03 Апреля 2014, 17:44 | Сообщение # 5792
    почетный гость
    Сейчас нет на сайте
    Здравствуйте!А можно юнитивский terrain редактировать во время игры
    PoqXertДата: Пятница, 04 Апреля 2014, 02:05 | Сообщение # 5793
    постоянный участник
    Сейчас нет на сайте
    Цитата Patric2014 ()
    Здравствуйте!А можно юнитивский terrain редактировать во время игры

    http://docs.unity3d.com/Documentation/ScriptReference/TerrainData.html


    Расширения для Unity3D
    Блог программиста - PoqXert.ru
    Patric2014Дата: Пятница, 04 Апреля 2014, 16:01 | Сообщение # 5794
    почетный гость
    Сейчас нет на сайте
    Цитата PoqXert ()
    http://docs.unity3d.com/Documentation/ScriptReference/TerrainData.html

    а вобще ланлшавт можно наращивать вверх и сглаживать(насколько я знаю) ,а можно ли углублять и наращивать в стороны
    Storm54Дата: Пятница, 04 Апреля 2014, 23:09 | Сообщение # 5795
    постоянный участник
    Сейчас нет на сайте
    Наращивать в стороны нельзя. Об остальном можно прочитать в справке.
    simakДата: Суббота, 05 Апреля 2014, 20:13 | Сообщение # 5796
    был не раз
    Сейчас нет на сайте
    Можно ли создать приложение, управлять которым можно будет с помощью телефона(т.е посредством bluetooth\wifi)?
    AdomДата: Воскресенье, 06 Апреля 2014, 17:49 | Сообщение # 5797
    Печенька!
    Сейчас нет на сайте
    В общем начал заниматься Network собрал простенькую сцену все сделал. Запускаю все норм. Вот только одно но камеры спутались т.е камера сервера это камера клиента и наоборот. И еще Mouselook у клиента и сервера одновременно вращается. В MouseLook указывал IsMine. Вот только не помогает как решить ?

    Добавлено (06.04.2014, 17:49)
    ---------------------------------------------
    Еще один вопрос... Вот делаю я модель танка в Belnder а когда экспортирую в unity там не правильно делаются оси а когда я в blender все это чиню то все как-бы нормально но вот отдельные компоненты такие как башня все-равно не смотрит пушкой вперед... Вот вопрос.. Нужно моделить учитываю оси Unity или в Blender можно настроить эти оси объекта ?

    JessyStormДата: Воскресенье, 06 Апреля 2014, 18:23 | Сообщение # 5798
    заслуженный участник
    Сейчас нет на сайте
    Adom, нужно присваивать родителей, затем поворачивать материнский объект на -90 градусов по оси Х, затем выделить все объекты и обнулить углы.

    https://www.artstation.com/artist/jessystorm
    AdomДата: Воскресенье, 06 Апреля 2014, 20:34 | Сообщение # 5799
    Печенька!
    Сейчас нет на сайте
    Спасибо. Вот еще сделал скрипт стрельбы RayCast так вот настроил дальность стрельбы по идеи из далека я должен попасть в куб и он отлетит но не выходит т.е нужно подойти почти в упор и стрельнуть что-бы куб отлетел.. Вот скрипт
    Код
    using UnityEngine;
    using System.Collections;

    public class Fire : MonoBehaviour {
    public RaycastHit Hit;
    public AudioClip FireSound;
    public Transform Cam;
    public Transform bullet;   
    public int BulletForce = 5000;   
    public int CurAmmoCount = 500;
    public int MaxAmmoCount = 500;
    private float ReloadTimer = 0.0f;
    private float MuzzleFlashLifetime = 0.0f;
    public GameObject MuzzleFlash;
    // Use this for initialization
    void Start () {
    MuzzleFlash.SetActive(false);  
    }  
    // Update is called once per frame
    void Update () {  
    if(Input.GetMouseButton(0)&CurAmmoCount>0&ReloadTimer<=0){  
    MuzzleFlash.SetActive(true);    
    Vector3 Direction = Cam.TransformDirection(Vector3.forward);
    if(Physics.Raycast(Cam.position, Direction, out Hit, 5000.0f)){  
    if(Hit.collider.name=="TankEnemy"){    
    Hit.collider.SendMessage("Damage",SendMessageOptions.DontRequireReceiver);  
    Debug.Log("Hit");
    }
    if(Hit.transform.rigidbody&&Hit.collider.name=="Rigidbody"){
    Hit.transform.rigidbody.AddForceAtPosition(Direction*1000, Hit.point);
    }    
    }
    Shoot();   
    }else{
    MuzzleFlash.SetActive(false);    
    }
    if(Input.GetKey(KeyCode.R)&ReloadTimer<=0){  
    ReloadTimer = 1.5f;
    CurAmmoCount = MaxAmmoCount;      
    }
    if(ReloadTimer>0){
    ReloadTimer -= Time.deltaTime;  
    }  
    }
    void Shoot(){
    Transform BulletInstance = (Transform) Instantiate(bullet, GameObject.Find("BulletSpawnPoint").transform.position, Quaternion.identity); //Генерится префаб патрона в координатах объекта "BulletSpawnPoint"
    BulletInstance.rigidbody.AddForce(transform.forward * BulletForce); //Сгенерированый патрон отправляется вперед со скоростью "BulletForce"
    CurAmmoCount = CurAmmoCount - 1; //-1 патрон
    audio.PlayOneShot(FireSound); //проигрываем звук выстрела //вспышка от выстрела видна
    MuzzleFlashLifetime = 0.1f; //установка времени жизни вспышки
    }
    }
    Storm54Дата: Воскресенье, 06 Апреля 2014, 21:22 | Сообщение # 5800
    постоянный участник
    Сейчас нет на сайте
    Код
    Hit.transform.rigidbody.AddForceAtPosition(Direction*1000, Hit.point);

    Как мне кажется, проблема здесь. Навскидку могу предположить, что нужно нормализовать вектор и домножить на какое-нить значение.


    Сообщение отредактировал Storm54 - Воскресенье, 06 Апреля 2014, 21:23
    Поиск:

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