forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Уроки (http://forum.boolean.name/forumdisplay.php?f=145)
-   -   Осваиваем Unity3d. Урок #1 (http://forum.boolean.name/showthread.php?t=12657)

pax 14.11.2011 17:24

Ответ: Осваиваем Unity3d. Урок #1
 
В смысле не двигает остальные объекты? Или CharacterController проходит сквозь объекты? Объясняйся понятнее.

UPD: CharacterController надо двигать функцией Move, не трансформом.

UPD2: Вот еще варианты решения похожей проблемы: http://answers.unity3d.com/questions...ontroller.html

RegIon 14.11.2011 18:11

Ответ: Осваиваем Unity3d. Урок #1
 
Проходит сквозь всё....а как её вызывать ,move эту?
Всё.Нашел как с помощью Rightbody делать,нужно поставить галочки на :зафиксировать y,rot x,z, и отключить гравитацию

pax 14.11.2011 18:16

Ответ: Осваиваем Unity3d. Урок #1
 
GetComponent<CharacterConteroller>().Move(movement );

RegIon 14.11.2011 18:50

Ответ: Осваиваем Unity3d. Урок #1
 
Как узнать название объекта с которым произошло столкновение??

RegIon 14.11.2011 18:59

Ответ: Осваиваем Unity3d. Урок #1
 
Вложений: 1
Вложение 15482во,чет написал...:)

Lestar 14.11.2011 20:10

Ответ: Осваиваем Unity3d. Урок #1
 
Цитата:

Сообщение от Костян (Сообщение 209674)
Как узнать название объекта с которым произошло столкновение??

collision.gameObject.name

pax 14.11.2011 20:34

Ответ: Осваиваем Unity3d. Урок #1
 
Цитата:

Сообщение от Костян (Сообщение 209676)
Вложение 15482во,чет написал...:)

Управление бы инвертировать.

RegIon 15.11.2011 13:53

Ответ: Осваиваем Unity3d. Урок #1
 
инвертировал,как загрузить мешь из файла на уровень кодом,я так:
Код:

GameObject go = Instantiate(Resources.Load("mine"));
а оно мне
Цитата:

Assets/scripts/main.cs(19,29): error CS0266: Cannot implicitly convert type `UnityEngine.Object' to `UnityEngine.GameObject'. An explicit conversion exists (are you missing a cast?)
Модель assets/mine.3ds

pax 15.11.2011 13:55

Ответ: Осваиваем Unity3d. Урок #1
 
А ты ему
PHP код:

GameObject go = (GameObject)Instantiate(Resources.Load("mine")); 

Только положи ее в Assets/Resources/mine

Я бы ее на поле скрипта назначил, чем вручную из ресурсов грузить...

Еще вариант
PHP код:

GameObject go = (GameObject)Instantiate(Resources.Load("mine"typeof(GameObject))); 


RegIon 15.11.2011 14:10

Ответ: Осваиваем Unity3d. Урок #1
 
Как??А он мне
Цитата:

ArgumentException: The thing you want to instantiate is null.
UnityEngine.Object.CheckNullArgument (System.Object arg, System.String message) (at C:/BuildAgent/work/842f9557127e852/Runtime/ExportGenerated/Editor/UnityEngineObject.cs:68)
UnityEngine.Object.Instantiate (UnityEngine.Object original) (at C:/BuildAgent/work/842f9557127e852/Runtime/ExportGenerated/Editor/UnityEngineObject.cs:55)
main.Start () (at Assets/scripts/main.cs:19)
тогда как сделать копию объекта,так:
Код:

GameObject do = new GameObject.Find("Cylinder")
Код:

GameObject go = (GameObject)Instantiate(Resources.Load("mine", typeof(GameObject)));
--заработало

Lestar 15.11.2011 14:29

Ответ: Осваиваем Unity3d. Урок #1
 
PHP код:

public GameObject prefab;
private 
GameObject go;

void Update()
{
  if(
go==null)
   {
    
go=Instantiate(prefab,transform.position,transform.rotation) as GameObject;
   }


В инспекторе в поле prefab перетянуть обьект,подготовленный для инстанса.

pax 15.11.2011 15:26

Ответ: Осваиваем Unity3d. Урок #1
 
Цитата:

Сообщение от Костян (Сообщение 209786)
Как??А он мне тогда

Первый вариант исправил твою приведенную ошибку (ошибку каста объекта типа UnityEngine.Object в UnityEngine.GameObject), второй вариант исправил следующую ошибку - загрузку неопределенного ресурса (без указанного типа), которая возвращала null.

RegIon 15.11.2011 20:40

Ответ: Осваиваем Unity3d. Урок #1
 
Вложений: 1
Вложение 15496 почему, ща может с ёжиками не сталкиваться?Стоит CollideMesh,как кодом CollideCube поставить??:-)

Lestar 15.11.2011 20:53

Ответ: Осваиваем Unity3d. Урок #1
 
Лучше mesh.collider не использовать для подобных коллизий.Добавить бокс или капсулу колайдер вручную префабу.

pax 15.11.2011 20:55

Ответ: Осваиваем Unity3d. Урок #1
 
На ежиках точно стоит MeshCollider? Может они не на одной плоскости с коллайдером ГГ? Колайдеры назначаются через меню Component->Physics->


Часовой пояс GMT +4, время: 15:37.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot