Помню, когда смотрел курсы обучения одного веселого дяди он посоветовал при моделирование человека пользоваться книжкой по Анатомии, если проблемы с воображением. (я так думаю, там надо иметь вообще фотографическую память, художники тоже смотрят на модели). При моделирования я пользуюсь: Баррингтон Барбер - Рисуем фигуру человека, базовые и продвинутые методы.
ЦитатаFlakky ()
Геймдизайн
По мне так это призвание, уже заложено в человеке и научится этому нельзя по книжкам, только если усердно сидеть и тренироваться.
MANMANA, Надеюсь не будут модераторы ругаться, за расспрос по другим, но схожим темам.
Смотри, это я основным героем могу выбрать персонажа и бегать по миру. А теперь вопрос, как расставить теги Player'ам:? Что бы игроки с тегом player 1-5 могли брать героев Альянса, а Player 6-10 только орду) DjanStudio
Жанр игры: (RPG, Arena) На каком движке/конструкторе: Unity 3D В каком пространстве: 3D Какой вид в игре: хз, как в WoW :D Какие есть похожие игры: Про Аналоги не знаю) Какой Язык Пр. используется в игре: C# Для какой платформы: PC Предоставление исходного кода игры: Все открыто) API: Какой тип лицензии распространения: Не комерческая Сроки разработки: Начало сентября, а вот релиз это уже другая история) Состав имеющейся команды: Я. Кто требуется в команду: 3D модельеры, программисты, геймдизайнеры, сценаристы.
Сюжет - Альянс и Орда ведут борьбу против демонов. Армии тьмы нападают на лагеря Орды и Альянс, герои и войска отбиваются от них. - Герои Орды и Альянса могут убивать друг друга. - Если Армия Демонов снесет ваш главный лагерь - вы проиграли. - Имеются улучшающие предметы. - Максимальный уровень - 10. - Улучшаются характеристики, персонаж поддержки может стать дд или рдд.
Что это? -----> Играл я в Warcraft 3 в аренки, у меня появилась идея сделать свою арену с " ну вы поняли " и тут понеслось. И так, Attack Demon - Арена.
Фракции: Альянс - Объединенная армия ночных эльфов, дворфов, гномов, людей, дренеев, воргенов.
Орда - Объединенная армия орков, троллей, тауренов, гоблинов, нежити, кровавых эльфов.
Персонажи(пока в разработке вообще, лень иногда делать с ними что - то):
MANMANA, сделал по своему, до твоего ответа) Теперь появился вопрос, как камеру прилепить к персонажу?) И управление)
Код
using UnityEngine; using System.Collections;
public class Geras : MonoBehaviour { public Transform eneter; // Зона куда войдет игрок ( будт Plane с графикой) public GameObject player; // Игрок который войдет public GameObject newHero; // Персонаж который появится в области NewChar public Transform pos; // Позиция
// Use this for initialization void Start () {
}
// Update is called once per frame void Update () {
} void OnTriggerEnter (Collider other) { // Если входим в зону то Destroy (other.gameObject); // Уничтожаем старую оболочку Instantiate (newHero, pos.position, pos.rotation); // Создаю нового персонажа } }
Добавлено (16.09.2014, 12:19) --------------------------------------------- Я так понял нужно сделать Префаб персонажей. что бы на них заранее весела камера. Так?
public class Geras : MonoBehaviour { public Transform eneter; // Зона куда войдет игрок ( будт Plane с графикой) public GameObject player; // Игрок который войдет public GameObject newHero; // Персонаж который появится в области NewChar public Transform pos; // Позиция
// Use this for initialization void Start () {
}
// Update is called once per frame void Update () {
} void OnTriggerEnter (Collider other) { // Если входим в зону то Destroy (other.gameObject); // Уничтожаем старую оболочку Instantiate (newHero, pos.position, pos.rotation); // Создаю нового персонажа } }
JHawk, Я знаю алгоритм создания, но не сильно владею C# именно в Unity, так что кыш от сюда, раз не можешь помочь.
MANMANA, Начал уже писать код, встал на месте, где нужно создать нового персонажа в области newChar, вот код:
Код
using UnityEngine; using System.Collections;
public class Geras : MonoBehaviour { public Transform eneter; // Зона куда войдет игрок ( будт Plane с графикой) public GameObject player; // Игрок который войдет public Transform newChar; // Место где появится новый персонаж public GameObject newHero; // Персонаж который появится в области NewChar
// Use this for initialization void Start () {
}
// Update is called once per frame void Update () {
} void OnTriggerEnter (Collider other) { // Если входим в зону то Transform pos; // Позиция Destroy (other.gameObject); // Уничтожаем старую оболочку pos = (Transform) newChar } }
В общем я на следующей стадии, алгоритм таков: Player 1 - Player 10 - заходит в зону выбора персонажа( на картинки выделено, черным кружком). Старая форма уничтожается и выбранный персонаж появляется в области, SpawnAlliance или в SpawnHorde все зависит от флага игрока. Player 1 - 5 - Это Альянса. Player 6 - 10 - Это Орда. Подскажите куда копать код?) Буду очень рад примеру)
Игровые спецэффекты - в общем вопрос, как их создавать? Модели это понятное дело, но вот эффект фаербола или молнии и т.д Ткнити куда искать, от ссылок не откажусь)
Добавлено (15.09.2014, 22:23) --------------------------------------------- Накопал, что можно пилить через Партик Сустем, есть еще предложения?)
Плод моих стараний. Код переделал, всем спс за помощь.
beril, WaitSec не помог все равно добиться результата, они появлялись по одному, а мне нужно было разом пачка, но все равно dankeshеn.
Код
using UnityEngine; using System.Collections;
public class SpawnEnemy : MonoBehaviour { public GameObject [] oenemy; // Массив мобов public Transform [] spawpoint; // их местоположение public int maxenemy = 10; // Маскимальное кол-во врагов public float TimerSp = 15f; // Время таймера
// Use this for initialization void Start () {
Spawn (); // вызываю функцию
}
// Update is called once per frame void Update () { if(TimerSp > 0){ // Чекаю условие TimerSp -= Time.deltaTime; // выполняем }else if(TimerSp <= -1) { Spawn(); // вызываю спавн } }
allods, это хорошо, но спавн мобов ни на один раз потребуется, тогда сброс все равно нужен будет, что бы счетчик вставал опять на цифру, которая указана в TimeSp. DjanStudio
В общем переделал я код с помощью romeo98, не смог справится с WaitSec и решил использовать таймер, теперь встал, как только таймер падает в 0, все объекты создаются нон - стопно. Есть вариант, проверять, как только падает в ноль его возвращать в значение обратно, но чего - то идея никак не идет)
Код
using UnityEngine; using System.Collections;
public class SpawnEnemy : MonoBehaviour { public GameObject [] oenemy; // Массив мобов public Transform [] spawpoint; // их местоположение public float TimerSp = 15.0f; // Время таймера
// Use this for initialization void Start () {
Spawn (); // вызываю функцию
}
// Update is called once per frame void Update () { if(TimerSp > 0){ // Чекаю условие TimerSp -= Time.deltaTime; // выполняем }else if(TimerSp <= 0) { Spawn(); // вызываю спавн } }
Я пытался с Java(будь проклята она, в л2 заела еще меня) переписать в C#.
Вот Java скрипт, исходник.
Код
// Add this script to a Parent GameObject of the spawnPoints. // Note: enemyPrefab will have an AI script attached which will already Tag the Player object // so it won't be needed here.
var spawnPoints : Transform[]; // Array of spawn points to be used. var enemyPrefabs : GameObject[]; // Array of different Enemies that are used. var amountEnemies = 20; // Total number of enemies to spawn. var yieldTimeMin = 2; // Minimum amount of time before spawning enemies randomly. var yieldTimeMax = 5; // Don't exceed this amount of time between spawning enemies randomly.
function Start() { Spawn(); }
function Spawn() { for (i=0; i<amountEnemies; i++) // How many enemies to instantiate total. { yield WaitForSeconds(Random.Range(yieldTimeMin, yieldTimeMax)); // How long to wait before another enemy is instantiated.
var obj : GameObject = enemyPrefabs[Random.Range(0, enemyPrefabs.length)]; // Randomize the different enemies to instantiate. var pos: Transform = spawnPoints[Random.Range(0, spawnPoints.length)]; // Randomize the spawnPoints to instantiate enemy at next.
Не могу понять, где я ошибаюсь? Скрипт не хочет работать, пишет ошибки в коде. Хелп ми)
Код
using UnityEngine; using System.Collections;
public class SpawnEnemy : MonoBehaviour { public GameObject [] oenemy; // Массив мобов public Transform [] spawpoint; // их местоположение public int maxenemy = 10; // максимальное колличество мобов public int mintime = 2; // минимальное время public int maxtime = 10; // максимальное время
// Use this for initialization void Start () { Spawn (); // вызываю функцию
}
// Update is called once per frame void Update () {