Суббота, 04 Мая 2024, 03:03

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Форум игроделов » Записи участника » Limonchik [58]
Результаты поиска
LimonchikДата: Суббота, 19 Апреля 2014, 18:56 | Сообщение # 1 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Проблемы с анимацией в unity.Если передвинуть в unity начальный кадр анимации дальше 3 то анимация "коряво" воспроизводиться. Все перепробовал не могу понять в чем дело.Или проблема в blendere или проблема в unity.

Вот сама модель.
http://rghost.ru/54405397


Сообщение отредактировал Limonchik - Суббота, 19 Апреля 2014, 19:08
LimonchikДата: Воскресенье, 05 Января 2014, 18:08 | Сообщение # 2 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
set16, Спасибо большое smile получилось!
LimonchikДата: Воскресенье, 05 Января 2014, 16:58 | Сообщение # 3 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
я вставлял его туда,и каждую секунду к x прибавляется ширина из-за чего текстура съезжает в сторону sad
LimonchikДата: Воскресенье, 05 Января 2014, 16:33 | Сообщение # 4 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Она раньше была а на данный момент я проверяю через количество it[i].count!=0.
Ошибки у меня потому что я переписывал код.И некоторые переменные не совпадают.Я уже все исправил.
Но как сделать рисование текстур каждого предмета у которого параметр count(количество) > 0.Через промежуток чтобы текстуры не лежали друг на друге.
Код
           
using UnityEngine;       
using System.Collections;       
using System.Collections.Generic;       

public class Inventory : MonoBehaviour {       
          public List<id> it = new List<id>();       
          public bool _on=false;       
          public GUISkin skin;       
          public int i;       
          public int x;       
          public int y;       
          public MouseLook camera;       
          public MouseLook player;       
          void Start () {       
          }       
          void Update () {       
           Screen.showCursor = true;       
                   
           if(_on)       
           {       
           camera.enabled=false;player.enabled=false;}       
           else{camera.enabled=true;player.enabled=true;}           
          if(Input.GetKeyDown(KeyCode.I))       
           {       
            _on = !_on;       
           }       
          }       
          void OnGUI()       
          {       
           GUI.skin = skin;       
           if (_on)       
           {GUI.Window(0,new Rect(100,100,Screen.width -200,Screen.height-100),Obj,"Inventory");}       
          }       
              void Obj(int idd)              
              {              
             for(i = 0;i<2;i++)              
             {              
             if(it[i].count!=0)              
             {              
                     Rect vector =new Rect(x,y, it[i].xPiche,it[i].yPiche);              
                     GUI.DrawTexture(vector,it[i].piche);                           
                             }              
                     }              
             }
          }  

Код
using UnityEngine;
using System.Collections;

public class id : MonoBehaviour {
   public string name;
   public int count;
   public string text;
   public int xPiche,yPiche;
   public Texture2D piche;
   void Start () {
    name = this.gameObject.name;
   }
   void Update () {
     
   }
}

Добавлено (05.01.2014, 16:33)
---------------------------------------------

Код
x[]+=it[].xPiche;как выполнить это действие 1 раз после рисования каждой текстуры?  


Сообщение отредактировал Limonchik - Воскресенье, 05 Января 2014, 16:27
LimonchikДата: Воскресенье, 05 Января 2014, 15:44 | Сообщение # 5 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Код
for(i = 0;i<5;i++)
      {     
GUILayout.BeginArea(new Rect(x[i],y,it[i].x,it[i].y));    
     //vector =new Rect(x,y,it[i].x,it[i].y);
     GUILayout.Box(it[i].picthe,GUILayout.Width(100f),GUILayout.Height(100f));
      }
     x[i+1]+=it[i].x
     GUILayout.EndArea();

Пытался через кнопку.Та же проблема.

Добавлено (05.01.2014, 15:44)
---------------------------------------------
Текстуры да добавляю


Сообщение отредактировал Limonchik - Воскресенье, 05 Января 2014, 15:46
LimonchikДата: Воскресенье, 05 Января 2014, 15:32 | Сообщение # 6 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Код
void Obj()     
              {     
                      for(i = 0;i<5;i++)     
                      {     
                    if(it[i].on==true)     
                    {     
                      Rect vector =new Rect(x,y,it[i].x,it[i].y);     
                      GUI.DrawTexture(vector,it[i].piche);     
                      x+=it[i].x;     
                    }     
                      }     
               }
LimonchikДата: Воскресенье, 05 Января 2014, 15:25 | Сообщение # 7 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
*
Код
public Texture2D picthe;
LimonchikДата: Воскресенье, 05 Января 2014, 15:01 | Сообщение # 8 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Ошибся там не items а it
Код
public List<id> it = new List<id>();

Код
void Obj()     
              {     
                      for(i = 0;i<5;i++)     
                      {     
                    if(it[i].on==true)     
                    {     
                      Rect vector =new Rect(x,y,it[i].x,it[i].y);     
                      GUI.DrawTexture(vector,it[i].piche);     
                      x+=it[i].picthe;     
                    }     
                      }     
               }


Добавлено (05.01.2014, 15:01)
---------------------------------------------
Я пишу инвентарь без ячеек т.е вещи можно было просто перемещать вещи по всему инвентарю. Не знаю как рисовать texture в инвентаре по порядку.
вот весь скрипт
(invenary)
Код
     
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class Inventory : MonoBehaviour {
    public List<id> it = new List<id>();
    public bool _on=false;
    public GUISkin skin;
    public int i;
    public int x;
    public int y;
    public MouseLook camera;
    Rect vector;
    public MouseLook player;
    void Start () {
    }
    void Update () {
     Screen.showCursor = true;
       
     if(_on)
     {
     camera.enabled=false;player.enabled=false;}
     else{camera.enabled=true;player.enabled=true;}     
    if(Input.GetKeyDown(KeyCode.I))
     {
      _on = !_on;
     }
    }
    void OnGUI()
    {
     GUI.skin = skin;
     if (_on)
     {GUI.Window(0,new Rect(100,100,Screen.width -200,Screen.height-100),Obj,"Inventory");}
    }
    void Obj(int idd)
    {
        
    }
}

2 скрипт с параметрами вещей
(id)
Код

using UnityEngine;
using System.Collections;

public class id : MonoBehaviour {
    public string name;
    public int count;
    public string text;
    public int xPiche,yPiche;
    public Texture2D picthe;
    void Start () {
    }
    void Update () {
       
    }
}



Сообщение отредактировал Limonchik - Воскресенье, 05 Января 2014, 15:33
LimonchikДата: Воскресенье, 05 Января 2014, 13:20 | Сообщение # 9 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Помогите надо нарисовать 5 текстур по порядку,но получается так что рисуется 1 текстура и съезжает в сторону.Думаю что проблема в GUI.DrawTexture т.к он не создает их, а просто прорисовывает.Чем его можно заменить?
Код

void Obj()
          {
                  for(i = 0;i<5;i++)
                  {
                          if(it[i].on==true)
                          {
                  Rect vector =new Rect(x,y,it[i].x,it[i].y);
                  GUI.DrawTexture(vector,it[i].piche);
                  x+=it[i].picthe;
                          }
                  }
           }


Сообщение отредактировал Limonchik - Воскресенье, 05 Января 2014, 14:46
LimonchikДата: Понедельник, 11 Ноября 2013, 15:47 | Сообщение # 10 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Я на free версии
LimonchikДата: Воскресенье, 10 Ноября 2013, 20:56 | Сообщение # 11 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Пытался сам написать скрипт на обход препятствий получилось очень коряво.Решил воспользоваться Pathfinding.Он замечательно обходит препятствия, но мне надо чтобы боты обходили друг друга.Есть ли в проекте встроенный способ? Или придется дописывать самому?
LimonchikДата: Воскресенье, 10 Февраля 2013, 15:55 | Сообщение # 12 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
EchoIT, Скомпилированную игру можно вроде как то декомпилировать http://www.unity3d.ru/distribution/viewtopic.php?f=105&p=90104
LimonchikДата: Воскресенье, 10 Февраля 2013, 15:24 | Сообщение # 13 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
var hours = 0.0;
var minutes = 0.0;
var seconds = 0.0;
var s = 1;

function Update (){
seconds +=s;
if (seconds >= 59)
seconds = 0;
}
function Start () {
if (hours < 23)
hours = 0;
if (minutes >= 59);
hours +=s;
if (seconds == 59);
minutes +=s;
}
Подскажите в чем проблема.
Заранее спасибо
LimonchikДата: Среда, 16 Января 2013, 20:59 | Сообщение # 14 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Помогите найти учебник по лучам java. Не как найти не могу.
LimonchikДата: Пятница, 11 Января 2013, 22:22 | Сообщение # 15 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
SnakeR, Спасибо большое через функцию if (other.gameObject.CompareTag("Player")) получилось.
(Извиняюсь что не написал раньше)
LimonchikДата: Понедельник, 07 Января 2013, 21:02 | Сообщение # 16 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Подскажите пожалуйста. Я сделал триггер при входе переменая update меняется с 0 на 1. Как сделать чтобы при выходе обратно менялась на 0. Пытался сделать так
var update = 0;
var Player : GameObject;

function OnTriggerEnter (other:Collider) {
if(other.tag == "Player") {
update = 1;
}
}

function OnTriggerExit (other:Collider) {
if(other.tag != "Player") {
update = 0;
}
}
Но почему то не работает


Сообщение отредактировал Limonchik - Понедельник, 07 Января 2013, 21:03
LimonchikДата: Четверг, 20 Декабря 2012, 19:53 | Сообщение # 17 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
EchoIT, Спасибо большое! biggrin
LimonchikДата: Четверг, 20 Декабря 2012, 18:57 | Сообщение # 18 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Помогите как перевести ai a*pathfinding из C# в java а то я C# не разбираюсь. Или помогите разобраться как добавить радиус чтобы при в хождении в него "бот" начал бежать за персонажем. Думал с помощью триггера включать выключать скрипт, но чет не получилось.
LimonchikДата: Понедельник, 17 Декабря 2012, 19:46 | Сообщение # 19 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Написать то я могу, но вот как заставить бегать его a*pathfinding не знаю
LimonchikДата: Понедельник, 17 Декабря 2012, 17:57 | Сообщение # 20 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Подскажите как этот ai который раньше работал через NavMeshAgent переделать под a* pathfinding?
Уже долго ищу ответа
private var target: Transform;
var idleAnimation : AnimationClip;
var walkAnimation : AnimationClip;
var attackAnimation: AnimationClip;
var hp : float = 100.0f;
var dead : GameObject;
var damage : float = 3.5f;
var delay : float = 1.0f;
private var time :float;

function Start () {
animation.AddClip(idleAnimation, "idle");
animation.AddClip(walkAnimation, "walk");
animation.AddClip(attackAnimation, "attack");
target = GameObject.FindWithTag("Player").transform;
nav = GetComponent(NavMeshAgent);
}

function ApplyDamage(d : float) {
hp -=d;
if(hp<=0) {
Instantiate(dead, transform.position, transform.rotation);
}
}

function Update () {

if(Vector3.Distance(transform.position, target.transform.position) < seeDistance) {
if(Vector3.Distance(transform.position, target.transform.position) > attackDistance){
animation.CrossFade("walk");
nav.enabled=true;
nav.SetDestination(target.position);
}else {
if(Time.time > time) {
animation.CrossFade("attack");
nav.enabled=false;
target.SendMessage ("ApplyDammage", damage, SendMessageOptions.DontRequireReceiver);
time = Time.time + delay;
}

}
} else {
animation.CrossFade("idle");
nav.enabled=false;
}
}
Форум игроделов » Записи участника » Limonchik [58]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

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