Воскресенье, 24 Ноября 2024, 08:52

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Результаты поиска
GrimerdieДата: Понедельник, 20 Октября 2014, 00:06 | Сообщение # 1 | Тема: Шейдер, видимый лишь на фоне определенного объекта.
был не раз
Сейчас нет на сайте
Собсна возникла необходимость чего-то подобного, т.е. когда объект был видим только лишь если находится на фоне какого либо другого объекта, возможно ли?
GrimerdieДата: Понедельник, 13 Октября 2014, 20:51 | Сообщение # 2 | Тема: Нуб-квэшн
был не раз
Сейчас нет на сайте
Цитата MANMANA ()
atlasToCube This is a Unity tool that allows you to assign any image from texture atlases to any face of standard primitive cubes.

Благодарю, плюсанул.
GrimerdieДата: Понедельник, 13 Октября 2014, 19:23 | Сообщение # 3 | Тема: Нуб-квэшн
был не раз
Сейчас нет на сайте
Цитата Fumlead ()
Делай UV развертку в 3d редакторе

Т.е. с дефаултными фигурами Юнити так сделать не выйдет?
GrimerdieДата: Понедельник, 13 Октября 2014, 18:58 | Сообщение # 4 | Тема: Нуб-квэшн
был не раз
Сейчас нет на сайте
В общем, сейчас столкнулся с проблемой - мне нужно, чтобы при накладывании текстуры на дефаултный Куб каждая грань была разной, ну т.е. стены, крыша, фасад и прочее. Но черт возьми, если в прошлых моих средах разработки были даже самые примитивные, но все-таки способы разметки мапов, да и вообще поддержка оных на стандартных фигурах, то тут я просто в ступоре, текстура просто-напросто накладывается на каждую грань куба.
Как в общем-то реализовать изложенное в первом предложении?
GrimerdieДата: Пятница, 03 Октября 2014, 18:12 | Сообщение # 5 | Тема: Двойной тап.
был не раз
Сейчас нет на сайте
Цитата MANMANA ()
потести - выдает или нет DOUBLE TAP что-то мне говорит, что либо для дешевых не работает дабл, либо он длится очень короткий момент времени

Хм, на моем китайфоне трехлетней давности робит. Попробую помацать еще более старые трубки.
GrimerdieДата: Пятница, 03 Октября 2014, 17:21 | Сообщение # 6 | Тема: Двойной тап.
был не раз
Сейчас нет на сайте
Всем привет! Столкнулся с проблемой - никак не могу додумать, как отследить два тапа подряд на андройде. Долго гуглил - в основном на подобные вопросы посылали учить tapCount, но оно работает лишь на айосе=(
Так что обращаюсь к здешним - каким образом наиболее компактно можно отследить дабл тап?
GrimerdieДата: Пятница, 27 Июня 2014, 17:22 | Сообщение # 7 | Тема: Проблема: система простейшего патрулирования.
был не раз
Сейчас нет на сайте
Сделал патрулирование территории таким образом: противник постоянно поворачивается, как только его рей контактирует с вейпоинтом, который идет по порядку, противник перестает поворачиваться и идет на вейпоинт, а потом все по новый. И все бы ничего, но т.к. хотел запилить максимальную удобность при последующем использовании - вейпоинты сделанны массивом, поэтому когда противник достигает последнего вейпоинта, происходит проверка, и если это - последний вейпоинт, то текущая вейпоинт-цель сбрасывается на самую первую (т.е. на ноль), и персонаж должен идти на нее. Но вот незадача - если я сбрасываю цель в нулевой вейпоинт, то противник продолжает вращаться, не имея возможности найти его, хотя если поставить не нулевой вейпоинт массива, а например первый, то он спокойно пинается реем об него и идет. Т.к. пытаюсь добиться максимальной удобности, то мне такой расклад не подходит, поэтому прошу вашей помощи, что здесь не так:

Код:
Цитата
var walkSpeed : float = 1.5f;
var rotateSpeed : float = 15.0f;
var waypointDetection : boolean;
var playerDetection : boolean;
var waypoint : GameObject[] ;
var currentWaypoint : int = 0;
var lastWaypoint : int;

function Update () {

var ray = new Ray(transform.position,transform.forward);
var hit : RaycastHit;
var target : Vector3 = waypoint[currentWaypoint].transform.position;
var moveDirection : Vector3 = target - transform.position;

if (Physics.Raycast(ray, hit, 10))
{

if(hit.collider == waypoint[currentWaypoint].collider)
{

waypointDetection = true;
transform.position = Vector3.MoveTowards(transform.position,waypoint[currentWaypoint].transform.position,walkSpeed * Time.deltaTime);

}
}
if(waypointDetection == false)
{
transform.Rotate(Vector3.up * Time.deltaTime * rotateSpeed);
}

if(moveDirection.magnitude < 1)
{
waypointDetection = false;
currentWaypoint++;

}
if(lastWaypoint == currentWaypoint)
currentWaypoint = 0;

}


Сообщение отредактировал Grimerdie - Пятница, 27 Июня 2014, 17:23
GrimerdieДата: Четверг, 26 Июня 2014, 22:46 | Сообщение # 8 | Тема: 9 дорожек в раннер - Нужна помощь!
был не раз
Сейчас нет на сайте
Цитата allods ()
завтра будет время, напишу скрипт сам и проверю, если работает скину

Ваш скрипт хорош, но в своем я с помощью такой подробности пытался достичь четкости в смене дорожек. Увы, но не вышло=(


Сообщение отредактировал Grimerdie - Четверг, 26 Июня 2014, 22:47
GrimerdieДата: Среда, 25 Июня 2014, 17:44 | Сообщение # 9 | Тема: 9 дорожек в раннер - Нужна помощь!
был не раз
Сейчас нет на сайте
В общем, отталкиваясь от кода выше, я написал свой, с кусками другого) Короче, проблема в том, что после перехода на другую дорожку, персонаж еще скользит какое-то время по направлению движения, как кубик льда.
И да, когда я в провожу по экрану, то действие выполняется, но стоит мне оторвать пальцы, как персонаж прекращает движение, будто я через while делаю (хотя у меня именно через if и Вектор3.Лерп).

UPD: Либо сделать проверку на то, чтобы между переходами на дорожки была проверка, был ли убран палец с тачскрина, или нет.

Код


Сообщение отредактировал Grimerdie - Среда, 25 Июня 2014, 18:33
GrimerdieДата: Вторник, 24 Июня 2014, 16:54 | Сообщение # 10 | Тема: 9 дорожек в раннер - Нужна помощь!
был не раз
Сейчас нет на сайте
Сорри за приставучесть, но как сделать, чтобы перескакивал персонаж на другую дорожку единожды? Т.е., сейчас выходит так, что если провести пальцем и ударживать, то движение идет практически бесприрывно. Возможно ли сделать задержку, либо 1 линия по тач скрину - 1 смена дорожки?

Сообщение отредактировал Grimerdie - Вторник, 24 Июня 2014, 17:27
GrimerdieДата: Вторник, 24 Июня 2014, 15:52 | Сообщение # 11 | Тема: 9 дорожек в раннер - Нужна помощь!
был не раз
Сейчас нет на сайте
P.S.
Цитата
Player.transform.position.x

Этож сишарп, тут так не катит)
GrimerdieДата: Вторник, 24 Июня 2014, 15:43 | Сообщение # 12 | Тема: 9 дорожек в раннер - Нужна помощь!
был не раз
Сейчас нет на сайте
Цитата allods ()
Mathf

Точно! Как же я про него забыл, спасибо большое)
GrimerdieДата: Вторник, 24 Июня 2014, 15:31 | Сообщение # 13 | Тема: 9 дорожек в раннер - Нужна помощь!
был не раз
Сейчас нет на сайте
Цитата allods ()
каждые 1,5 у тебя дорожка так ?

Почти что, 1,4. Проблема в том, что как бы и 2.8, и 4.2 тоже больше 0.5, поэтому, кроме добавления еще одной переменной (что весьма сомнительно) я ничего не придумал.
GrimerdieДата: Вторник, 24 Июня 2014, 15:24 | Сообщение # 14 | Тема: 9 дорожек в раннер - Нужна помощь!
был не раз
Сейчас нет на сайте
Цитата allods ()
И на сколько я смог понять, ты просто жмешь влево и право чтоб менять дорожку? Если да то не понятно чем это отличается от 3 или более дорожек? Я не понимаю что именно ты не можешь сделать, ведь ты уже можешь передвигаться на 3х

Да, эта игра. Просмотри код внимательно, и узри, как происходит проверка того, на какой дорожке ты в данный момент, и поймешь, в чем моя проблема.
GrimerdieДата: Вторник, 24 Июня 2014, 14:14 | Сообщение # 15 | Тема: 9 дорожек в раннер - Нужна помощь!
был не раз
Сейчас нет на сайте
У меня возникла проблема, я делаю раннер на Android, как Сабвей Серф. В общем, все бы ничего, код управления написал, но возникла проблема: у меня по задумке должно быть не 3 дорожки, как в Сабвее, а 9. Как три дорожки сделать я додумал, а вот как сделать больше трех голову ломаю все утро. Можете наводку дать, как добавить еще дорожек?

Цитата
using UnityEngine;
using System.Collections;

public class Movent : MonoBehaviour {
public GameObject Player; //Объявляем игрока
int Speed = 2; //Объявляем скорость
bool Alive; //Мы живы?
Vector3 Damp = new Vector3(0.0f,0.0f,0.0f);

void Awake(){
Alive = true;
}

void Update () {

if(Alive)
{
Player.transform.position += Player.transform.forward * Speed * Time.deltaTime;
}

if(Alive && Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
{
if(touchDeltaPosition.x > 8.0 && transform.position.x >= -0.5)
{
Player.transform.position = new Vector3(1.4f, transform.position.y, transform.position.z);
}
if(touchDeltaPosition.x > 8.0 && transform.position.x <= -0.5)
{
Player.transform.position = new Vector3(0.0f, transform.position.y, transform.position.z);
}
if(touchDeltaPosition.x < -8.0 && transform.position.x >= 0.5)
{
Player.transform.position = new Vector3(0.0, transform.position.y, transform.position.z);
}

if(touchDeltaPosition.x < -8.0 && transform.position.x <= 0.5)
{
Player.transform.position = new Vector3(-1.4f, transform.position.y, transform.position.z);

}

}
}

}
void OnCollisionEnter()
{
Speed = 0;
}
void OnCollisionExit()
{
Speed = 2;
}
}


Сообщение отредактировал Grimerdie - Вторник, 24 Июня 2014, 14:16
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг