Результаты поиска
|
|
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, Спасибо большое получилось!
|
|
| |
Limonchik | Дата: Воскресенье, 05 Января 2014, 16:58 | Сообщение # 3 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| я вставлял его туда,и каждую секунду к x прибавляется ширина из-за чего текстура съезжает в сторону
|
|
| |
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, Спасибо большое!
|
|
| |
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; } }
|
|
| |