|
Unity Мультиплатформенный инструмент для разработки игр |
21.01.2011, 20:39
|
#331
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Частицы быстрее, если тебе надо сотню и больше билбоардов. Управляй созданием частиц в ручную в эмиттере, и сможешь отрисовать все частицы за один draw call.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.01.2011, 21:30
|
#332
|
Разработчик
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений (для 100 пользователей)
|
Ответ: Фак по Юнити.
Использую particle emitter, со скоростью все Ок! 16000 партиклов 150FPS.
А как через код установить текстуру particleEmitter?
И почему я создаю желтый партикл Color.yellow, а на экране отображается розовый?
П.С. Если кому интересно небольшой рабочий тест.
дополнительно к объекту нужно прикрутить Particle Renderer и Elipsoid Particle Emitter
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
// Use this for initialization
void Start () {
particleEmitter.useWorldSpace = true;
}
// Update is called once per frame
void Update () {
float x,y,z;
for(int i=0; i<50; i++){
x=Random.Range(50, 1024-50);
y=Random.Range(-10, 50);
z=Random.Range(50, 1024-50);
particleEmitter.Emit(new Vector3(x,y,z), Vector3.up, 3.0f, 2f, Color.yellow);
}
print(particleEmitter.particleCount);
}
}
|
(Offline)
|
|
21.01.2011, 21:35
|
#333
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Используй явное создание частиц
http://unity3d.com/support/documenta...particles.html
а материал определяет ParticleRenderer
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.01.2011, 21:53
|
#334
|
Разработчик
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений (для 100 пользователей)
|
Ответ: Фак по Юнити.
Забыл что к камере прикрутил, Particle Renderer и Elipsoid Particle Emitter. в свойствах Render можно поставить материал.
Теперь все работает.
|
(Offline)
|
|
25.01.2011, 20:03
|
#335
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Фак по Юнити.
Возникла нехорошая проблема.
Персонаж игрока условно - куб с Box Collider`ом. Враги тоже.
Их я двигаю transform.Translate`ом и они не реагируют на столкновения вообще никак.
У меня возникло подозрение, что transform.Translate не учитывает физику, и мне стало от этого грустно.
Какой командой стоит передвигать персонажей, или какие компоненты стоит добавить (пробовал Rigidbody, однако безрезультатно)
|
(Offline)
|
|
25.01.2011, 21:12
|
#336
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Если все объекты с коллайдерами и двигаются, то им необходимо добавить RigidBody и его переключить в режим IsKinematic и передвигать их надо в FixedUpdate.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.01.2011, 21:27
|
#337
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Фак по Юнити.
Хм, не помогло, ригидбади установлены, пробовал со всеми комбинациями галочек...
|
(Offline)
|
|
25.01.2011, 21:35
|
#338
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Коллайдеры случаем не в режиме IsTrigger? В каком слое коллайдеры находятся? В настройках физики - эти слои между собой могут сталкиваться?
|
(Offline)
|
|
25.01.2011, 21:37
|
#339
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Фак по Юнити.
Могут сталкиваться, коллайдеры не триггеры
|
(Offline)
|
|
25.01.2011, 21:38
|
#340
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Тогда не могу предполагаать... если только transform который двигает объект не на том же объекте что и коллайдер...
|
(Offline)
|
|
25.01.2011, 21:45
|
#341
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Фак по Юнити.
Нет, трансформ там же находится
Вот сцена, если есть возможность посмотреть
|
(Offline)
|
|
25.01.2011, 21:58
|
#342
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Посмотрел, похоже чтобы сталкивались наверное надо двигать объекты физикой. Либо использовать вместо BoxCollider - CharacterController. Либо вручную обрабатывать события он CollisionEnter.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.02.2011, 15:29
|
#343
|
scientist.alien
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений (для 2,593 пользователей)
|
Ответ: Фак по Юнити.
Возникла нехорошая проблема.
Персонаж игрока условно - куб с Box Collider`ом. Враги тоже.
Их я двигаю transform.Translate`ом и они не реагируют на столкновения вообще никак.
У меня возникло подозрение, что transform.Translate не учитывает физику, и мне стало от этого грустно.
Какой командой стоит передвигать персонажей, или какие компоненты стоит добавить (пробовал Rigidbody, однако безрезультатно)
|
боролся кстати с этим недавно... решение получилось костыльным)
Rigidbody, в Update() включать IsKinematic, двигать transform.position как хочется, выключать IsKinematic, обнулять rigidbody.velocity и angularVelocity.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab. We LOVE you. We MADE you.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.03.2011, 22:08
|
#344
|
Бывалый
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений (для 995 пользователей)
|
Ответ: Фак по Юнити.
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
public GameObject respawnPrefab;
public GameObject[] respawns = GameObject.FindGameObjectsWithTag("Respawn");
void Awake() {
foreach (GameObject respawn in respawns) {
Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation);
}
}
}
Запускаю, но в массиве пусто
Префаб назначен, скрипт в сцене размещен, точки респавна присутствуют, все теги выставлены.
И второй вопрос: как сделать триггер на партиклы? Например, стоишь в огне и у тебя здоровье отнимается.
|
(Offline)
|
|
02.03.2011, 01:48
|
#345
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
делай так
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
public GameObject respawnPrefab;
public GameObject[] respawns;
void Awake() {
respawns = GameObject.FindGameObjectsWithTag("Respawn");
foreach (GameObject respawn in respawns) {
Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation);
}
}
}
по второму вопросу - используй MonoBehaviour.OnTriggerStay
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:38.
|