Unity 3D New multi-player ZombieShooter

Лучший способ помочь другим, поделиться своими находками.

Unity 3D New multi-player ZombieShooter

Сообщение yeah48rus 10 сен 2013, 09:55

хороший исходник ФПС \ ТПС шутера , но только сделан как-то непонятно , если кто переделает под сингл плеер , с нормальными префабами, прошу ответить в личку. Видео к исходнику -




ссылка на скачивание - https://mega.co.nz/#!4kZnxIgR!Rh3Jewt3mKOHrl8ujq2u8z-IaPpS7WNTqVivk-VK-OA
yeah48rus
UNец
 
Сообщения: 30
Зарегистрирован: 18 ноя 2012, 22:06

Re: Unity 3D New multi-player ZombieShooter

Сообщение newArray 10 сен 2013, 10:25

Это с армед юнити? Но это же не мультиплеер. Там видюшке показано что это не мультиплеер. Почему тогда они в видео не показали клиент- сервер.
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Unity 3D New multi-player ZombieShooter

Сообщение yeah48rus 10 сен 2013, 10:30

Да, это с армедюнити , если скачать проект и посмотреть, то при запуске есть мультиплеерная часть
yeah48rus
UNец
 
Сообщения: 30
Зарегистрирован: 18 ноя 2012, 22:06

Re: Unity 3D New multi-player ZombieShooter

Сообщение newArray 10 сен 2013, 10:54

О спасибо. Это надо посмотреть. Главное чтоб зомби были синхронизированы.
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Unity 3D New multi-player ZombieShooter

Сообщение yeah48rus 10 сен 2013, 11:00

посмотри)) а если ещё объяснишь как сделать сингл плеер , по гроб жизни буду благодарен))
yeah48rus
UNец
 
Сообщения: 30
Зарегистрирован: 18 ноя 2012, 22:06

Re: Unity 3D New multi-player ZombieShooter

Сообщение newArray 10 сен 2013, 11:47

я еще не смотрел исходник - но для начала просто найди префаб игрока который инстансируется и поставь его на сцену. Потом найди го на котором висит скрипт инстансирования игрока и отключи его - а потом что там происходит с зомбями надо посмотреть - будут ли они получать урон.
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Unity 3D New multi-player ZombieShooter

Сообщение yeah48rus 10 сен 2013, 15:21

там префабы плеера и всех объектов тянутся с файлов с расширением .package , вот хотелось бы узнать , можно ли их как-то оттуда извлечь ? чтобы они были у меня простыми префабами
yeah48rus
UNец
 
Сообщения: 30
Зарегистрирован: 18 ноя 2012, 22:06

Re: Unity 3D New multi-player ZombieShooter

Сообщение newArray 10 сен 2013, 15:29

Ты что то путаешь. я начал смотреть исходник. Делай как я тебе сказал выставляй префаб плеера на сцену main/prefab/artors/player test male. А и конечно исключи из билда сцены с мультиплеерным меню и оставь там только основную сцену куда поставишь этот префаб плеера. Я удивляюсь насколько хорошее качество этого исходника - также я не удивлюсь если там уже есть сцена для сингл плеер игры. скажу пока что там еслть плюс ко всему еще персонажи для игры - есть персонаж женский. Если я вникну в че то из него я тебе напишу в личку по твоей проблеме.

Спаун плеера отключаешь на го _CONTROLLER скрипт network controller - там в переменной player prefabs и стоит наш префаб игрока
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Unity 3D New multi-player ZombieShooter

Сообщение yeah48rus 10 сен 2013, 16:34

к сожалению, не всё так просто
yeah48rus
UNец
 
Сообщения: 30
Зарегистрирован: 18 ноя 2012, 22:06

Re: Unity 3D New multi-player ZombieShooter

Сообщение newArray 10 сен 2013, 17:30

Все я понял. Я также теперь задался этим вопросом. Во первых я понял что пак делала студия какая то. Затем меня очень удивило что ресурсы грузятся с жесткого диска с мне непонятными расширениями: .package , .map. А я привык в бандлах к формату unity3d. так я вообще был в шоке
Итак вопрос к знающим людям
вот мы используем для работами с бандлами этот скрипт http://docs.unity3d.com/Documentation/S ... undle.html
А они там сделали такой скрипт
Синтаксис:
Используется csharp
using UnityEngine;
using UnityEditor;

public class ExportPackages {
    [MenuItem("Assets/Build Package From Selection - Track dependencies")]
    static void ExportResource () {
        // Bring up save panel
        string path = EditorUtility.SaveFilePanel ("Save Resource", "", "New Resource", "package");
        if (path.Length != 0) {
            // Build the resource file from the active selection.
            Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
            BuildPipeline.BuildAssetBundle(Selection.activeObject, selection, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets);
            Selection.objects = selection;
        }
    }
    [MenuItem("Assets/Build Package From Selection - No dependency tracking")]
    static void ExportResourceNoTrack () {
        // Bring up save panel
        string path = EditorUtility.SaveFilePanel ("Save Resource", "", "New Resource", "package");
        if (path.Length != 0) {
            // Build the resource file from the active selection.
            BuildPipeline.BuildAssetBundle(Selection.activeObject, Selection.objects, path);
        }
    }
       
        [MenuItem("Assets/Build map")]
        static void ExportMap () {
                string[] levels = new string[1]{"Assets/Main/Levels/Network/TestLevelDev.unity"};
                string path = EditorUtility.SaveFilePanel ("Save Resource", "", "New Resource", "map");
        if (path.Length != 0) {
                        BuildPipeline.BuildStreamedSceneAssetBundle(levels, path, BuildTarget.WebPlayer);
                }
        }
       
        [MenuItem("Assets/Fast Build Map 1")]
        static void FastExportMap1 () {
                string[] levels = new string[1]{"Assets/Main/Levels/Level1/Streamed.unity"};
                BuildPipeline.BuildStreamedSceneAssetBundle(levels, "Packages/Maps/TestLevel_1.map", BuildTarget.StandaloneWindows);
        }
       
        [MenuItem("Assets/Fast Build Map 2")]
        static void FastExportMap2 () {
                string[] levels = new string[1]{"Assets/Main/Levels/Level2/Streamed.unity"};
                BuildPipeline.BuildStreamedSceneAssetBundle(levels, "Packages/Maps/TestLevel_2.map", BuildTarget.StandaloneWindows);
        }
}

 


То есть они там как бы поменяли расширения для бандлов. Вопрос значит это работает? Мы можем для бандлов назначить любое расширение?
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Unity 3D New multi-player ZombieShooter

Сообщение Golandez 10 сен 2013, 19:53

Это паблик сорцы или варез?
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Unity 3D New multi-player ZombieShooter

Сообщение newArray 10 сен 2013, 20:14

Это вот http://armedunity.com/topic/4286-zombie ... urce-code/ пока что не ясно. он там ссылся на этого Teddy W на ютубе. шас поищу.

Вот сорц на ютубе http://www.youtube.com/watch?v=vchSjjKF5ns http://www.youtube.com/watch?v=Rg-S-9zoBj0 вроде его - типа он опенсорцик.

зы я вот удивляюсь такому написанию
Код: Выделить всё
actor.name = actor.networkView.isMine ? "LocalPlayer" : "RemotePlayer";

реально на чужом коде можно учиться
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Unity 3D New multi-player ZombieShooter

Сообщение newArray 11 сен 2013, 02:50

Я отвязал от этой хитроумной загрузки бандлов. xml из которого он там читает инфу о патронах и оружии поместил в Resources - чтобы не читать его извне. Да и вообще сделал по-нормальному - по-русски .
Насчет переправки в сингл мы говорили с ТС - кого интересует потом могу сказать - сделали это одной строчкой. Править все обратно под сингл нет смысла - много работы - все команды под сеть прописаны. Решили так сделать - запускать все таки сервер - но просто скрыть меню сети - стартует только сервер и нехай себе работает.
Дэмо:
HTML код для вашего блога :
Код: Выделить всё
<script language='javascript' type="text/javascript"> document.write("<iframe marginheight='0' src='http://unity3d.ru/distribution/player.php?url=http://contradj.ucoz.ru/zomby/dddd.unity3d&w=600&h=400&t=false&preview=1' height='"+(400+30)+"' width='600' frameborder='0' scrolling='no'></iframe>"); </script>

upd
После этого я провкалывал еще как папо карло. Там была сетка сделана самый простой вариант- вход по ай пи. Я переделал под мастер сервер. Но там опять была закручена эта сеть через 10 ссылок - под МС пришлось переделывать. Скрипт МС вынес отдельно. Но я только сделал работающий функционал мс очень сырой - не сделал даже кастомизации имен игроков - они все с одинаковым именем. Это уже сделаете сами- если я все сделаю, зачем мне конкурентов наживать. И все равно даже оставил его странный вариант загрузки сцены - она грузится буферизированно по рпс - не по человечески.
И главное мне показалось что там нормально синхронизированы зомби - во всяком случае меньше работы. Демо обновил под новый исходник.
Я заменил там свою сцену игры, она называется MyCorrect и она поставлена в билд. Когда будете делать свою сцену, для работы навмеш зомби бейкните ваш теран или что там у вас вместо земли и все. Объяснять что версия про должна быть для навмеш думаю не надо. префаб оружия на персонаже. Префабы игрока и зомби на _CONTROLLER
Работать начинайте так - Main/Levels/Network - там запускаете сцену AppStart. Это первая из 3х сцен в билде.
Если кто не знает зомби инстансировать по клавише F


исходник 220мб unity v.4.1.2 winXP
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда


Вернуться в Исходники (Копилка)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3