 |
31.01.2012, 00:16
|
#1
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Проблема с физикой
Приделываю Rigidbody к стандартным примитивам - работает нормально.
Пытаюсь приеделать его к чилдам загруженных моделей (экспортил чрез 3dsmax, пробовал разные форматы) - они двигаются, но не работают столкновения (т.е. тела проходят сквозь колайдеры и сквозь друг друга). Масштабирование не юзал, отпарентить пробовал, resetxform пробовал.
чяднт?
|
(Offline)
|
|
31.01.2012, 02:26
|
#2
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Проблема с физикой
Или самому добавить коллайдер или в настройках импортера поставить флаг на generate colliders,
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.01.2012, 07:47
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Проблема с физикой
Если на моделях меш коллайдеры, то надо ставить им галочку Convex (на некоторых может не сработать). Не выпуклая движущаяся геометрия не поддерживается. Если сложная геометрия, то можно попробовать составить компаунд из нескольких примитивов (добавляй пустышки в чайлды ригидбоди и добавляй им коллайдеры). Если они двигаются анимацией, то ставить галочку Is Kinematic.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
31.01.2012, 17:24
|
#4
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Проблема с физикой
okay
...
void SetMotor(float speed)
{
hingeJoint.motor.force = speed;
}
...
Выдаёт ошибку
Cannot modify a value type return value of `UnityEngine.HingeJoint.motor'. Consider storing the value in a temporary variable
|
А тут чяднт?
|
(Offline)
|
|
31.01.2012, 17:33
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Проблема с физикой
А так:
...
void SetMotor(float speed)
{
var motor = hingeJoint.motor;
motor.force = speed;
hingeJoint.motor = motor;
}
...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.01.2012, 17:57
|
#6
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Проблема с физикой
Спс. Но теперь ошибки не выдаёт, а не работает (тупо обнуляет ангулярную скорость)
|
(Offline)
|
|
31.01.2012, 18:02
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Проблема с физикой
Тут я не виноват)
|
(Offline)
|
|
01.02.2012, 22:34
|
#8
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Проблема с физикой

Error building Player: IndexOutOfRangeException: Array index is out of range.
UnityEditor.HostView:OnGUI()
---
Exception: Error building Player: IndexOutOfRangeException: Array index is out of range.
UnityEditor.BuildPlayerWindow.BuildPlayerWithDefau ltSettings (Boolean askForBuildLocation, BuildOptions forceOptions) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:367)
UnityEditor.BuildPlayerWindow.GUIBuildButtons (Boolean enableBuildButton, Boolean enableBuildAndRunButton, Boolean canInstallInBuildFolder) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:972)
UnityEditor.BuildPlayerWindow.ShowBuildTargetSetti ngs () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:953)
UnityEditor.BuildPlayerWindow.OnGUI () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:726)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:225)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:218)
UnityEditor.HostView.OnGUI () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:119)
|
Получаю это при попытке скомпилить проект под андроид (под другие платформы всё ок). Что это может значить?
|
(Offline)
|
|
01.02.2012, 22:54
|
#9
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Проблема с физикой
Андроид SDK установлен? Установлена ли та версия, под которую компилируешь?
|
(Offline)
|
|
01.02.2012, 23:23
|
#10
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Проблема с физикой
Да, другой проект вроде компилился (но с глюками - mobile/diffuse сливается в кашу, по крайней мере на эмуляторе)
|
(Offline)
|
|
02.02.2012, 00:10
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Проблема с физикой
выкинь эмулятор. на нем вообще тестировать невозможно.
|
(Offline)
|
|
02.02.2012, 01:34
|
#12
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Проблема с физикой
Покажи скрины развертки Player Setting, а именно свиток Other Setting и Android SDK Manager с открытыми свитками того, что установлено.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
02.02.2012, 21:25
|
#13
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Проблема с физикой
Разобрался.
-
...
Пока не имею девайса с ведроидом, просьба проверить этот код:
using UnityEngine;
using System.Collections;
public class mobile_clicker : MonoBehaviour {
public GUITexture[] butts;
void OnUpdate()
{
foreach(Touch t in Input.touches)
{
if(t.phase == TouchPhase.Began)
{
foreach(GUITexture b in butts)
{
Rect r = b.GetScreenRect();
if( QuadCollide(r.x,r.y,r.width,r.height,t.position.x,t.position.y) )
{
b.SendMessage("OnMouseDown", null, SendMessageOptions.DontRequireReceiver);
}
}
}
}
}
bool QuadCollide(float x,float y,float w,float h,float ix,float iy)
{
if(ix>=x)
{
if(iy>=y)
{
if(ix<=(x+w))
{
if(iy<=(y+h))
{
return true;
}
}
}
}
return false;
}
}
Оно должно имитировать OnMouseDown для GUITexture из указанного массива.
|
(Offline)
|
|
03.02.2012, 01:36
|
#14
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Проблема с физикой
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
03.02.2012, 12:32
|
#15
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Проблема с физикой
Сообщение от Lestar
|
Это я видел, мне надо было именно для GUITexture.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:28.
|