Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
PoqXert | Дата: Понедельник, 07 Апреля 2014, 02:10 | Сообщение # 5801 |
постоянный участник
Сейчас нет на сайте
| Цитата Adom ( ) Вот только одно но камеры спутались т.е камера сервера это камера клиента и наоборот. И еще Mouselook у клиента и сервера одновременно вращается. В MouseLook указывал IsMine. Вот только не помогает как решить ? В префабе игрока отключи камеру и MouseLook, и включай их только после создания игрока.
Расширения для Unity3D Блог программиста - PoqXert.ru
|
|
| |
Adom | Дата: Понедельник, 07 Апреля 2014, 12:39 | Сообщение # 5802 |
Печенька!
Сейчас нет на сайте
| не-а не в этом проблема а в этом.. Код void Shoot(){ Transform BulletInstance = (Transform) Instantiate(bullet, GameObject.Find("BulletSpawnPoint").transform.position, Quaternion.identity); //Генерится префаб патрона в координатах объекта "BulletSpawnPoint" BulletInstance.rigidbody.AddForce(transform.forward * BulletForce); //Сгенерированый патрон отправляется вперед со скоростью "BulletForce" CurAmmoCount = CurAmmoCount - 1; //-1 патрон audio.PlayOneShot(FireSound); //проигрываем звук выстрела //вспышка от выстрела видна MuzzleFlashLifetime = 0.1f; //установка времени жизни вспышки } Добавлено (07.04.2014, 12:39) --------------------------------------------- Пришлось пожертвовать (
|
|
| |
PoqXert | Дата: Понедельник, 07 Апреля 2014, 12:47 | Сообщение # 5803 |
постоянный участник
Сейчас нет на сайте
| Delete
Расширения для Unity3D Блог программиста - PoqXert.ru
Сообщение отредактировал PoqXert - Понедельник, 07 Апреля 2014, 12:49 |
|
| |
Adom | Дата: Вторник, 08 Апреля 2014, 17:20 | Сообщение # 5804 |
Печенька!
Сейчас нет на сайте
| ? Добавлено (08.04.2014, 17:20) --------------------------------------------- Наверно надоел с вопросами... В общем сделал тест сцену мультиплеера... Ну вот когда я создаю сервер начинаю играть а другой человек не может подключиться почему ?
|
|
| |
Azgards | Дата: Вторник, 08 Апреля 2014, 23:06 | Сообщение # 5805 |
был не раз
Сейчас нет на сайте
| Всем привет!
Есть два класса на разных обектах и проблема.
------------- Класс 1 ------------- Класс плеера который отвечает за счет очков и вывод переменной на экран using UnityEngine; using System.Collections;
public class Score : MonoBehaviour { public int ScoreInt =0;
void OnGUI() { GUI.TextArea (new Rect (10,140,150,25), "Убито:" + ScoreInt); } }
----------- Класс 2 ----------- Класс врага
using UnityEngine; using System.Collections; using System.Collections.Generic;
public class Status : MonoBehaviour{
public int hp = 100;
public override void ApplyScore (int Score) {
if(hp<=0){ Здесь мне нужно осуществить изменение переменной "ScoreInt" из первого Класса, а именно +1 } } Помогите разобраться, ничего не могу писать без этой возможности.
|
|
| |
EchoIT | Дата: Вторник, 08 Апреля 2014, 23:20 | Сообщение # 5806 |
старожил
Сейчас нет на сайте
| Цитата Помогите разобраться, ничего не могу писать без этой возможности. Можно так: Код GO.GetComponent<Score>().ScoreInt++; GO - GameObject, на котором висит скрипт Score. Если объект тот же, на котором и другой скрипт висит, то "Go." писать не надо (на будущее). Чтобы получить нужный GO, можно написать. Код GO=GameObject.Find("Имя_объекта");
P.S.: OnGUI - богомерзие.
Долгожданный анонсик: State of War
Сообщение отредактировал EchoIT - Вторник, 08 Апреля 2014, 23:21 |
|
| |
PoqXert | Дата: Среда, 09 Апреля 2014, 03:11 | Сообщение # 5807 |
постоянный участник
Сейчас нет на сайте
| Цитата Adom ( ) Ну вот когда я создаю сервер начинаю играть а другой человек не может подключиться почему ? Сколько лет страусу? Примерно так и звучит твой вопрос, т.к. не известно как ты создаёшь, как человек подключается, как ты определил, что не может подключится и много других вопросов.
Расширения для Unity3D Блог программиста - PoqXert.ru
|
|
| |
Adom | Дата: Среда, 09 Апреля 2014, 12:53 | Сообщение # 5808 |
Печенька!
Сейчас нет на сайте
| Хорошо попробую объяснить лучше... В общем делал по тутору M2H_Networking оттуда использовал всего 2 скрипта 1 это коннект и создание серва а второй для спавна игрока. Когда я запускаю два клиента игры на своем компе то все выходит я могу подключаться к серву а когда дело касается других людей то они не могут ко мне подключатся как и я к ним.
|
|
| |
nik | Дата: Среда, 09 Апреля 2014, 13:01 | Сообщение # 5809 |
just nik
Сейчас нет на сайте
| Adom, используемые порты открыты?
BridgeGamingTeam
|
|
| |
Adom | Дата: Среда, 09 Апреля 2014, 13:15 | Сообщение # 5810 |
Печенька!
Сейчас нет на сайте
| nik, Я вот тоже так-думал.... Но после того как я открыл порт и попробовал заново ничего не изменилось(
|
|
| |
nik | Дата: Среда, 09 Апреля 2014, 13:22 | Сообщение # 5811 |
just nik
Сейчас нет на сайте
| Adom, а ты проверь открыт ли он наверняка http://portscan.ru/
BridgeGamingTeam
Сообщение отредактировал nik - Среда, 09 Апреля 2014, 13:23 |
|
| |
Adom | Дата: Среда, 09 Апреля 2014, 14:06 | Сообщение # 5812 |
Печенька!
Сейчас нет на сайте
| Эмм закрыт... А как открыть то тогда?
|
|
| |
PoqXert | Дата: Среда, 09 Апреля 2014, 14:19 | Сообщение # 5813 |
постоянный участник
Сейчас нет на сайте
| Цитата Adom ( ) Хорошо попробую объяснить лучше... Страус из Австралии. Как ты сервер создаёшь? Что указываешь в Network.InitializeServer? Как подключаешься? Указываешь IP и порт? Скорее всего проблемы с NAT.
Расширения для Unity3D Блог программиста - PoqXert.ru
|
|
| |
Adom | Дата: Среда, 09 Апреля 2014, 14:36 | Сообщение # 5814 |
Печенька!
Сейчас нет на сайте
| Код public string connectToIP = "127.0.0.1"; public int connectPort = 25001;
// Смешанный GUI для сервера и клиента public void OnGUI() {
if (Network.peerType == NetworkPeerType.Disconnected) { //Сейчас мы отключены и не являемся клиентом или хостом GUILayout.Label("Connection status: Disconnected");
connectToIP = GUILayout.TextField(connectToIP, GUILayout.MinWidth(100)); connectPort = int.Parse(GUILayout.TextField(connectPort.ToString()));
GUILayout.BeginVertical(); if (GUILayout.Button("Connect as client")) { // Подсоединяемся к "connectToIP" и "connectPort" как клиент // В данном случае игнорируем NAT Network.useNat = false; Network.Connect(connectToIP, connectPort); }
if (GUILayout.Button("Start Server")) { // Создаем север с 32 клиентами используя порт "connectPort" // Так же игнорируем NAT Network.useNat = false; Network.InitializeServer(32, connectPort); } GUILayout.EndVertical();
} else { //Мы имеем подключение(я)!
if (Network.peerType == NetworkPeerType.Connecting) { // Статус - пдключение GUILayout.Label("Connection status: Connecting");
} else if (Network.peerType == NetworkPeerType.Client) { // Статус - клиент GUILayout.Label("Connection status: Client!"); GUILayout.Label("Ping to server: " + Network.GetAveragePing(Network.connections[0]));
} else if (Network.peerType == NetworkPeerType.Server) { // Статус - сервер GUILayout.Label("Connection status: Server!"); GUILayout.Label("Connections: " + Network.connections.Length); if (Network.connections.Length >= 1) { GUILayout.Label("Ping to first player: " + Network.GetAveragePing(Network.connections[0])); } }
if (GUILayout.Button("Disconnect")) { Network.Disconnect(200); } }
}
|
|
| |
PoqXert | Дата: Среда, 09 Апреля 2014, 14:49 | Сообщение # 5815 |
постоянный участник
Сейчас нет на сайте
| Цитата Adom ( ) // Так же игнорируем NAT Network.useNat = false; О чём я и говорил. Вместо этого напиши: Код Network.useNat = !Network.HavePublicAddress();
Расширения для Unity3D Блог программиста - PoqXert.ru
|
|
| |
Adom | Дата: Среда, 09 Апреля 2014, 14:53 | Сообщение # 5816 |
Печенька!
Сейчас нет на сайте
| Ладно... Как исправлю и проверю скажу. Если все пучком будет то одарю тебя + )
|
|
| |
Левша | Дата: Среда, 09 Апреля 2014, 16:21 | Сообщение # 5817 |
почти ветеран
Сейчас нет на сайте
| Цитата Когда я запускаю два клиента игры на своем компе то все выходит я могу подключаться к серву а когда дело касается других людей то они не могут ко мне подключатся как и я к ним Нат здесь не поможет. Другие смогут к тебе подключатся, только если у тебя *белый IP (публичный). По умолчанию, обычно провайдер не дает юзерам публичные адреса.
X.cor.R (Prologue)
Сообщение отредактировал Левша - Среда, 09 Апреля 2014, 16:23 |
|
| |
Adom | Дата: Среда, 09 Апреля 2014, 16:23 | Сообщение # 5818 |
Печенька!
Сейчас нет на сайте
| А как сделать публичным ? И опять ничего не вышло...
|
|
| |
Левша | Дата: Среда, 09 Апреля 2014, 16:25 | Сообщение # 5819 |
почти ветеран
Сейчас нет на сайте
| Обратится к провайдеру и попросить, в некоторых случаях это стоит дополнительной абонентской оплаты.
X.cor.R (Prologue)
|
|
| |
Adom | Дата: Среда, 09 Апреля 2014, 16:26 | Сообщение # 5820 |
Печенька!
Сейчас нет на сайте
| Блин... А ведь раньше получалось( Добавлено (09.04.2014, 16:26) --------------------------------------------- И почему тогда я к друг подключиться не могу... И может ли порт влиять на это ? (Просто нужные порты у меня закрыты)
|
|
| |