Unity 3d - Помощь в написании скриптов. - Страница 68 - Форум Игроделов
Пн, 20 Май 2024, 10:22 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум Игроделов » UNITY3D » СКРИПТИНГ » Unity 3d - Помощь в написании скриптов.
Unity 3d - Помощь в написании скриптов.
игнатДата: Вс, 22 Июн 2014, 15:38 | Сообщение # 1341
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
До этого я догадался. Есть ли "настоящий" способ узнать, что за сцена запущена. (в Editore узнать можно)


Правила форума · участник GCC
 
СообщениеДо этого я догадался. Есть ли "настоящий" способ узнать, что за сцена запущена. (в Editore узнать можно)

Автор - игнат
Дата добавления - 22 Июн 2014 в 15:38
seamanДата: Вс, 22 Июн 2014, 16:00 | Сообщение # 1342
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
А мануал посмотреть слабо:
Application.loadedLevel
Application.loadedLevelName
 
СообщениеА мануал посмотреть слабо:
Application.loadedLevel
Application.loadedLevelName

Автор - seaman
Дата добавления - 22 Июн 2014 в 16:00
98xarayДата: Вс, 22 Июн 2014, 23:23 | Сообщение # 1343
Нет аватара
 
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Мне надо что бы в меню можно было выкл и вкл эффект FXAA
 
СообщениеМне надо что бы в меню можно было выкл и вкл эффект FXAA

Автор - 98xaray
Дата добавления - 22 Июн 2014 в 23:23
ЛевшаДата: Пн, 23 Июн 2014, 15:09 | Сообщение # 1344
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Camera.GetComponent(FXAA).enabled = true/false;

X.cor.R (Prologue)
 
СообщениеCamera.GetComponent(FXAA).enabled = true/false;

Автор - Левша
Дата добавления - 23 Июн 2014 в 15:09
98xarayДата: Пн, 23 Июн 2014, 16:23 | Сообщение # 1345
Нет аватара
 
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Левша, консоль пишет Assets/Scripts/Control.cs(9,16): error CS0120: An object reference is required to access non-static member `UnityEngine.Component.GetComponent(System.Type)'

Вот сам скрипт:
Код
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {

// Use this for initialization

void start() {
Camera.GetComponent(FXAA).enabled = false;
}

// Update is called once per frame
void newgame () {
Application.LoadLevel(1);
}
void exit() {
Application.Quit();
}
}
 
СообщениеЛевша, консоль пишет Assets/Scripts/Control.cs(9,16): error CS0120: An object reference is required to access non-static member `UnityEngine.Component.GetComponent(System.Type)'

Вот сам скрипт:
Код
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {

// Use this for initialization

void start() {
Camera.GetComponent(FXAA).enabled = false;
}

// Update is called once per frame
void newgame () {
Application.LoadLevel(1);
}
void exit() {
Application.Quit();
}
}

Автор - 98xaray
Дата добавления - 23 Июн 2014 в 16:23
ЛевшаДата: Пн, 23 Июн 2014, 17:34 | Сообщение # 1346
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
А зачем ты копипастишь ?...
Я тебе алгоритм и метод показал, а ты его в код скопировал...
huh


X.cor.R (Prologue)
 
СообщениеА зачем ты копипастишь ?...
Я тебе алгоритм и метод показал, а ты его в код скопировал...
huh

Автор - Левша
Дата добавления - 23 Июн 2014 в 17:34
98xarayДата: Пн, 23 Июн 2014, 18:27 | Сообщение # 1347
Нет аватара
 
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
То есть получается это надо скопировать в кнопку?
 
СообщениеТо есть получается это надо скопировать в кнопку?

Автор - 98xaray
Дата добавления - 23 Июн 2014 в 18:27
игнатДата: Пн, 23 Июн 2014, 19:28 | Сообщение # 1348
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Если есть такая волшебная кнопка, то почему я о ней не знаю?? biggrin wacko
На камеру вешаете эффект -> в скрипте находите камеру и компонент-эффект -> производите действие с "параметрами" компонента.


ЕСЛИ ВАМ НУЖНЫ ГОТОВЫЕ СКРИПТЫ - ТО ВАМ В ДРУГОЙ РАЗДЕЛ



Правила форума · участник GCC
 
СообщениеЕсли есть такая волшебная кнопка, то почему я о ней не знаю?? biggrin wacko
На камеру вешаете эффект -> в скрипте находите камеру и компонент-эффект -> производите действие с "параметрами" компонента.


ЕСЛИ ВАМ НУЖНЫ ГОТОВЫЕ СКРИПТЫ - ТО ВАМ В ДРУГОЙ РАЗДЕЛ

Автор - игнат
Дата добавления - 23 Июн 2014 в 19:28
folikmeo2001Дата: Пн, 18 Авг 2014, 04:14 | Сообщение # 1349
Нет аватара
 
Сообщений: 28
Награды: 0
Репутация: 0
Статус: Offline
Как сделать генерацию одного объекта по X чтобы этот объект (фото 1) спавнился каждые 1.5 секунды в ограниченном месте (фото 2) и поднимался вверх, а после исчезновения из камеры уничтожался?

1 фото
2 фото
 
СообщениеКак сделать генерацию одного объекта по X чтобы этот объект (фото 1) спавнился каждые 1.5 секунды в ограниченном месте (фото 2) и поднимался вверх, а после исчезновения из камеры уничтожался?

1 фото
2 фото

Автор - folikmeo2001
Дата добавления - 18 Авг 2014 в 04:14
commandobyДата: Пн, 18 Авг 2014, 13:10 | Сообщение # 1350
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
А дублировать разве не запрещено?

Блог.
 
СообщениеА дублировать разве не запрещено?

Автор - commandoby
Дата добавления - 18 Авг 2014 в 13:10
seamanДата: Пн, 18 Авг 2014, 15:07 | Сообщение # 1351
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Не нужно уничтожать. Нужно перемещать вниз и рандомно по X смещать в указанных пределах.
За дублирование - замечание.
 
СообщениеНе нужно уничтожать. Нужно перемещать вниз и рандомно по X смещать в указанных пределах.
За дублирование - замечание.

Автор - seaman
Дата добавления - 18 Авг 2014 в 15:07
игнатДата: Ср, 20 Авг 2014, 18:48 | Сообщение # 1352
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
http://docs.unity3d.com/ScriptR....te.html
http://docs.unity3d.com/ScriptReference/ThreadSafeAttribute.html



Правила форума · участник GCC
 
Сообщениеhttp://docs.unity3d.com/ScriptR....te.html
http://docs.unity3d.com/ScriptReference/ThreadSafeAttribute.html

Автор - игнат
Дата добавления - 20 Авг 2014 в 18:48
killamasterbitДата: Сб, 23 Авг 2014, 21:55 | Сообщение # 1353
 
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Всем привет делаю первую игру но не смыслю в скриптах подскажите как сделать так чтобы при нажатии кнопки (E) объект удалялся и после этого когда я захожу в тригер или гейм обьект мне это отмечалось в правом углу экрана типо (перетащен один объект) и так по нарастающей ?
 
СообщениеВсем привет делаю первую игру но не смыслю в скриптах подскажите как сделать так чтобы при нажатии кнопки (E) объект удалялся и после этого когда я захожу в тригер или гейм обьект мне это отмечалось в правом углу экрана типо (перетащен один объект) и так по нарастающей ?

Автор - killamasterbit
Дата добавления - 23 Авг 2014 в 21:55
aleks50trollДата: Сб, 27 Сен 2014, 17:27 | Сообщение # 1354
Нет аватара
 
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
Помогите нужен скрипт, чтобы при входе в тригер воспроизводился звук, и если можно и картинка (2 скрипта)
например идешь, и ветка хрустнула заранее спасибо
 
СообщениеПомогите нужен скрипт, чтобы при входе в тригер воспроизводился звук, и если можно и картинка (2 скрипта)
например идешь, и ветка хрустнула заранее спасибо

Автор - aleks50troll
Дата добавления - 27 Сен 2014 в 17:27
KarambaeptДата: Пн, 27 Окт 2014, 18:23 | Сообщение # 1355
Нет аватара
 
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
помогите
мне нужно чтобы после выстрела пушки снаряд летел ровно в цель
 
Сообщениепомогите
мне нужно чтобы после выстрела пушки снаряд летел ровно в цель

Автор - Karambaept
Дата добавления - 27 Окт 2014 в 18:23
игнатДата: Пн, 27 Окт 2014, 21:32 | Сообщение # 1356
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Покажите свой код, мы скажем, как сделать, чтобы объект "летел" не криво, а ровно.


Правила форума · участник GCC
 
СообщениеПокажите свой код, мы скажем, как сделать, чтобы объект "летел" не криво, а ровно.

Автор - игнат
Дата добавления - 27 Окт 2014 в 21:32
KarambaeptДата: Пн, 27 Окт 2014, 21:47 | Сообщение # 1357
Нет аватара
 
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
var speed = 3.0;
var rotationSpeed = 5.0;
var shootRange = 15.0;
var attackRange = 30.0;
var shootAngle = 4.0;
var dontComeCloserRange = 5.0;
var delayShootTime = 0.35;
var pickNextWaypointDistance = 2.0;
var target : Transform;

private var lastShot = -10.0;

// Make sure there is always a character controller
@script RequireComponent (CharacterController)

function Start () {
// Auto setup player as target through tags
if (target == null && GameObject.FindWithTag("Player"))
target = GameObject.FindWithTag("Player").transform;

Patrol();
}

function Patrol () {
var curWayPoint = AutoWayPoint.FindClosest(transform.position);
while (true) {
var waypointPosition = curWayPoint.transform.position;
// Are we close to a waypoint? -> pick the next one!
if (Vector3.Distance(waypointPosition, transform.position) < pickNextWaypointDistance)
curWayPoint = PickNextWaypoint (curWayPoint);

// Attack the player and wait until
// - player is killed
// - player is out of sight
if (CanSeeTarget ())
yield StartCoroutine("AttackPlayer");

// Move towards our target
MoveTowards(waypointPosition);

yield;
}
}

function CanSeeTarget () : boolean {
if (Vector3.Distance(transform.position, target.position) > attackRange)
return false;

var hit : RaycastHit;
if (Physics.Linecast (transform.position, target.position, hit))
return hit.transform == target;

return false;
}

function Shoot () {
// Start shoot animation
animation.CrossFade("shoot", 0);

// Wait until half the animation has played


// Fire gun
BroadcastMessage("Fire");

// Wait for the rest of the animation to finish
yield WaitForSeconds(animation["shoot"].length - delayShootTime);
}

function AttackPlayer () {
var lastVisiblePlayerPosition = target.position;
while (true) {
if (CanSeeTarget ()) {
// Target is dead - stop hunting
if (target == null)
return;

// Target is too far away - give up
var distance = Vector3.Distance(transform.position, target.position);
if (distance > shootRange * 3)
return;

lastVisiblePlayerPosition = target.position;
if (distance > dontComeCloserRange)
MoveTowards (lastVisiblePlayerPosition);
else
RotateTowards(lastVisiblePlayerPosition);

var forward = transform.TransformDirection(Vector3.forward);
var targetDirection = lastVisiblePlayerPosition - transform.position;
targetDirection.y = -0;

var angle = Vector3.Angle(targetDirection, forward);

// Start shooting if close and play is in sight
if (distance < shootRange && angle < shootAngle)
yield StartCoroutine("Shoot");
} else {
yield StartCoroutine("SearchPlayer", lastVisiblePlayerPosition);
// Player not visible anymore - stop attacking
if (!CanSeeTarget ())
return;
}

yield;
}
}

function SearchPlayer (position : Vector3) {
// Run towards the player but after 3 seconds timeout and go back to Patroling
var timeout = 3.0;
while (timeout > 0.0) {
MoveTowards(position);

// We found the player
if (CanSeeTarget ())
return;

timeout -= Time.deltaTime;
yield;
}
}

function RotateTowards (position : Vector3) {
SendMessage("SetSpeed", 0.0);

var direction = position - transform.position;
direction.y = -40;
if (direction.magnitude < 0.1)
return;

// Rotate towards the target
transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation(direction), rotationSpeed * Time.deltaTime);
transform.eulerAngles = Vector3(0, transform.eulerAngles.y, -40);
}

function MoveTowards (position : Vector3) {
var direction = position - transform.position;
direction.y = 0;
if (direction.magnitude < 0.5) {
SendMessage("SetSpeed", 0.0);
return;
}

// Rotate towards the target
transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation(direction), rotationSpeed * Time.deltaTime);
transform.eulerAngles = Vector3(0, transform.eulerAngles.y, 0);

// Modify speed so we slow down when we are not facing the target
var forward = transform.TransformDirection(Vector3.forward);
var speedModifier = Vector3.Dot(forward, direction.normalized);
speedModifier = Mathf.Clamp01(speedModifier);

// Move the character
direction = forward * speed * speedModifier;
GetComponent (CharacterController).SimpleMove(direction);

SendMessage("SetSpeed", speed * speedModifier, SendMessageOptions.DontRequireReceiver);
}

function PickNextWaypoint (currentWaypoint : AutoWayPoint) {
// We want to find the waypoint where the character has to turn the least

// The direction in which we are walking
var forward = transform.TransformDirection(Vector3.forward);

// The closer two vectors, the larger the dot product will be.
var best = currentWaypoint;
var bestDot = -10.0;
for (var cur : AutoWayPoint in currentWaypoint.connected) {
var direction = Vector3.Normalize(cur.transform.position - transform.position);
var dot = Vector3.Dot(direction, forward);
if (dot > bestDot && cur != currentWaypoint) {
bestDot = dot;
best = cur;
}
}

return best;
}

Добавлено (27 Окт 2014, 21:38)
---------------------------------------------
ai из fps tutorial

Добавлено (27 Окт 2014, 21:47)
---------------------------------------------
и еще хотел бы в этом скрипте изменить слежение за объектом а то при выстреле она перестает следить за ним

 
Сообщениеvar speed = 3.0;
var rotationSpeed = 5.0;
var shootRange = 15.0;
var attackRange = 30.0;
var shootAngle = 4.0;
var dontComeCloserRange = 5.0;
var delayShootTime = 0.35;
var pickNextWaypointDistance = 2.0;
var target : Transform;

private var lastShot = -10.0;

// Make sure there is always a character controller
@script RequireComponent (CharacterController)

function Start () {
// Auto setup player as target through tags
if (target == null && GameObject.FindWithTag("Player"))
target = GameObject.FindWithTag("Player").transform;

Patrol();
}

function Patrol () {
var curWayPoint = AutoWayPoint.FindClosest(transform.position);
while (true) {
var waypointPosition = curWayPoint.transform.position;
// Are we close to a waypoint? -> pick the next one!
if (Vector3.Distance(waypointPosition, transform.position) < pickNextWaypointDistance)
curWayPoint = PickNextWaypoint (curWayPoint);

// Attack the player and wait until
// - player is killed
// - player is out of sight
if (CanSeeTarget ())
yield StartCoroutine("AttackPlayer");

// Move towards our target
MoveTowards(waypointPosition);

yield;
}
}

function CanSeeTarget () : boolean {
if (Vector3.Distance(transform.position, target.position) > attackRange)
return false;

var hit : RaycastHit;
if (Physics.Linecast (transform.position, target.position, hit))
return hit.transform == target;

return false;
}

function Shoot () {
// Start shoot animation
animation.CrossFade("shoot", 0);

// Wait until half the animation has played


// Fire gun
BroadcastMessage("Fire");

// Wait for the rest of the animation to finish
yield WaitForSeconds(animation["shoot"].length - delayShootTime);
}

function AttackPlayer () {
var lastVisiblePlayerPosition = target.position;
while (true) {
if (CanSeeTarget ()) {
// Target is dead - stop hunting
if (target == null)
return;

// Target is too far away - give up
var distance = Vector3.Distance(transform.position, target.position);
if (distance > shootRange * 3)
return;

lastVisiblePlayerPosition = target.position;
if (distance > dontComeCloserRange)
MoveTowards (lastVisiblePlayerPosition);
else
RotateTowards(lastVisiblePlayerPosition);

var forward = transform.TransformDirection(Vector3.forward);
var targetDirection = lastVisiblePlayerPosition - transform.position;
targetDirection.y = -0;

var angle = Vector3.Angle(targetDirection, forward);

// Start shooting if close and play is in sight
if (distance < shootRange && angle < shootAngle)
yield StartCoroutine("Shoot");
} else {
yield StartCoroutine("SearchPlayer", lastVisiblePlayerPosition);
// Player not visible anymore - stop attacking
if (!CanSeeTarget ())
return;
}

yield;
}
}

function SearchPlayer (position : Vector3) {
// Run towards the player but after 3 seconds timeout and go back to Patroling
var timeout = 3.0;
while (timeout > 0.0) {
MoveTowards(position);

// We found the player
if (CanSeeTarget ())
return;

timeout -= Time.deltaTime;
yield;
}
}

function RotateTowards (position : Vector3) {
SendMessage("SetSpeed", 0.0);

var direction = position - transform.position;
direction.y = -40;
if (direction.magnitude < 0.1)
return;

// Rotate towards the target
transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation(direction), rotationSpeed * Time.deltaTime);
transform.eulerAngles = Vector3(0, transform.eulerAngles.y, -40);
}

function MoveTowards (position : Vector3) {
var direction = position - transform.position;
direction.y = 0;
if (direction.magnitude < 0.5) {
SendMessage("SetSpeed", 0.0);
return;
}

// Rotate towards the target
transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation(direction), rotationSpeed * Time.deltaTime);
transform.eulerAngles = Vector3(0, transform.eulerAngles.y, 0);

// Modify speed so we slow down when we are not facing the target
var forward = transform.TransformDirection(Vector3.forward);
var speedModifier = Vector3.Dot(forward, direction.normalized);
speedModifier = Mathf.Clamp01(speedModifier);

// Move the character
direction = forward * speed * speedModifier;
GetComponent (CharacterController).SimpleMove(direction);

SendMessage("SetSpeed", speed * speedModifier, SendMessageOptions.DontRequireReceiver);
}

function PickNextWaypoint (currentWaypoint : AutoWayPoint) {
// We want to find the waypoint where the character has to turn the least

// The direction in which we are walking
var forward = transform.TransformDirection(Vector3.forward);

// The closer two vectors, the larger the dot product will be.
var best = currentWaypoint;
var bestDot = -10.0;
for (var cur : AutoWayPoint in currentWaypoint.connected) {
var direction = Vector3.Normalize(cur.transform.position - transform.position);
var dot = Vector3.Dot(direction, forward);
if (dot > bestDot && cur != currentWaypoint) {
bestDot = dot;
best = cur;
}
}

return best;
}

Добавлено (27 Окт 2014, 21:38)
---------------------------------------------
ai из fps tutorial

Добавлено (27 Окт 2014, 21:47)
---------------------------------------------
и еще хотел бы в этом скрипте изменить слежение за объектом а то при выстреле она перестает следить за ним


Автор - Karambaept
Дата добавления - 27 Окт 2014 в 21:47
mastersmitДата: Вс, 30 Ноя 2014, 15:01 | Сообщение # 1358
Нет аватара
 
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Ребят, помогите доделать скрипт на перемещение объекта:

Код

   if (Input.touchCount > 0) {
    if (Input.GetMouseButtonDown (0)) {
     ray1 = Camera.main.ScreenPointToRay (new Vector3(Input.mousePosition.x-Screen.width/2, Input.mousePosition.y-Screen.height/2));
     startpoint = ray1.GetPoint (1);
     startpoint.y = 0;
    }
    
    if (Input.GetTouch (0).phase==TouchPhase.Moved){
     ray2 = Camera.main.ScreenPointToRay (new Vector3(Input.mousePosition.x-Screen.width/2, Input.mousePosition.y-Screen.height/2));
     endpoint = ray2.GetPoint (1);
     endpoint.y = 0;
     transform.position += endpoint-startpoint;
    }


камера смотрит вниз на объект. этот объект и надо двинуть, только корректно как драг&дроп. Какие варианты уже только не перепробовал все одно, управление дряное становится.
Почему этот скрипт привел помочь доделать - потому что она наиболее корректно себя ведет.

Ну или ткните в ошибку..

Добавлено (30 Ноя 2014, 15:01)
---------------------------------------------
Судя по всему помощи можно не ждать..

 
СообщениеРебят, помогите доделать скрипт на перемещение объекта:

Код

   if (Input.touchCount > 0) {
    if (Input.GetMouseButtonDown (0)) {
     ray1 = Camera.main.ScreenPointToRay (new Vector3(Input.mousePosition.x-Screen.width/2, Input.mousePosition.y-Screen.height/2));
     startpoint = ray1.GetPoint (1);
     startpoint.y = 0;
    }
    
    if (Input.GetTouch (0).phase==TouchPhase.Moved){
     ray2 = Camera.main.ScreenPointToRay (new Vector3(Input.mousePosition.x-Screen.width/2, Input.mousePosition.y-Screen.height/2));
     endpoint = ray2.GetPoint (1);
     endpoint.y = 0;
     transform.position += endpoint-startpoint;
    }


камера смотрит вниз на объект. этот объект и надо двинуть, только корректно как драг&дроп. Какие варианты уже только не перепробовал все одно, управление дряное становится.
Почему этот скрипт привел помочь доделать - потому что она наиболее корректно себя ведет.

Ну или ткните в ошибку..

Добавлено (30 Ноя 2014, 15:01)
---------------------------------------------
Судя по всему помощи можно не ждать..


Автор - mastersmit
Дата добавления - 30 Ноя 2014 в 15:01
ЛевшаДата: Вс, 30 Ноя 2014, 15:14 | Сообщение # 1359
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата mastersmit ()
Ну или ткните в ошибку..

Весь код - одна сплошная ошибка...

Цитата mastersmit ()
Какие варианты уже только не перепробовал

Какие например ?

PS. Для начала разберись что такое touch и mouse и почему их нельзя смешивать в один компот...


X.cor.R (Prologue)
 
Сообщение
Цитата mastersmit ()
Ну или ткните в ошибку..

Весь код - одна сплошная ошибка...

Цитата mastersmit ()
Какие варианты уже только не перепробовал

Какие например ?

PS. Для начала разберись что такое touch и mouse и почему их нельзя смешивать в один компот...

Автор - Левша
Дата добавления - 30 Ноя 2014 в 15:14
mastersmitДата: Вс, 30 Ноя 2014, 15:18 | Сообщение # 1360
Нет аватара
 
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Такой
Код

Touch touch = Input.touches [0];
if (touch.phase == TouchPhase.Moved){
         float distance = touch.deltaPosition.magnitude;
         Vector2 touchDeltaPosition = touch.deltaPosition.normalized;
         transform.position = transform.position + new Vector3(touchDeltaPosition.x*distance/4f,0f,touchDeltaPosition.y*distance/4f);
}
  


такой
Код

for (int i = 0; i<Input.touchCount; i++) {
         if (Input.GetTouch (i).phase.Equals (TouchPhase.Moved)) {
                 Plane mPlane = new Plane (transform.forward, transform.position);
                 Ray ray = Camera.main.ScreenPointToRay (Input.GetTouch (i).position);
                 float dist = 0;
                 if (mPlane.Raycast (ray, out dist)) {
                         transform.position = ray.GetPoint (dist*2);
                 }
         }
}
  


всякие вариации этого и того. Уже не припомню все варианты..
Я понимаю почему, но просто из всего, что я перепробовал, как ни странно вышло лучше всего..

честно говоря - это единственная запара, которая вылезла..
 
СообщениеТакой
Код

Touch touch = Input.touches [0];
if (touch.phase == TouchPhase.Moved){
         float distance = touch.deltaPosition.magnitude;
         Vector2 touchDeltaPosition = touch.deltaPosition.normalized;
         transform.position = transform.position + new Vector3(touchDeltaPosition.x*distance/4f,0f,touchDeltaPosition.y*distance/4f);
}
  


такой
Код

for (int i = 0; i<Input.touchCount; i++) {
         if (Input.GetTouch (i).phase.Equals (TouchPhase.Moved)) {
                 Plane mPlane = new Plane (transform.forward, transform.position);
                 Ray ray = Camera.main.ScreenPointToRay (Input.GetTouch (i).position);
                 float dist = 0;
                 if (mPlane.Raycast (ray, out dist)) {
                         transform.position = ray.GetPoint (dist*2);
                 }
         }
}
  


всякие вариации этого и того. Уже не припомню все варианты..
Я понимаю почему, но просто из всего, что я перепробовал, как ни странно вышло лучше всего..

честно говоря - это единственная запара, которая вылезла..

Автор - mastersmit
Дата добавления - 30 Ноя 2014 в 15:18
Форум Игроделов » UNITY3D » СКРИПТИНГ » Unity 3d - Помощь в написании скриптов.
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024