forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Фак по Юнити. (http://forum.boolean.name/showthread.php?t=12966)

SaM_ 31.07.2011 20:17

Ответ: Фак по Юнити.
 
Мне надо, что бы когда персонаж ловил бонус, то этот бонус удалялся, а на его месте образовывалась Gui текстура, которая после должна переместится в заданную точку на экране.
Собственно, как сделать, что бы координаты той самой текстуры соответствовали координатам бонуса, перед уничтожением. И как заставить gui перемещаться в заданную точку?

Lestar 31.07.2011 22:04

Ответ: Фак по Юнити.
 
1.Конвертируем позицию обьекта
PHP код:

screenPos =  Camera.main.WorldToViewportPoint(_obj.position); 

2.Выводим что нужно на экране,используя
PHP код:

screenPos.x
screenPos
.

Помним,что отсчет ведется от нижнего левого угла.

SaM_ 02.08.2011 23:08

Ответ: Фак по Юнити.
 
Я хочу, что бы при нажатии mouse1, в месте нынешнего расположения курсора спавнилось несколько префабов:

PHP код:

var bednaPrefab Transform;


function 
Update () {

var 
mousex Input.mousePosition.x;
var 
mousey Input.mousePosition.y;
var 
ray camera.main.ScreenPointToRay (Vector3(mousex,mousey,10));


if ( 
Input.GetMouseButtonDown(0) ){
var 
crate Instantiate(bednaPrefabray.originQuaternion.identity);
}



Что тут не так??? Ибо при нажатии mouse1 префаб спавнится перед носом самой камеры.

Lestar 03.08.2011 00:07

Ответ: Фак по Юнити.
 
Ray.origin дает позишен откуда выпущен луч,а выпущен он из камеры.

PHP код:

var bednaPrefab Transform;
var 
hit RaycastHit;

function 
Update () {

if ( 
Input.GetMouseButtonDown(0) )
{
 var 
ray camera.main.ScreenPointToRay (Vector3(Input.mousePosition));
if (
Physics.Raycast(rayhitMathf.Infinity100))
 {
  var 
crate Instantiate(bednaPrefab,(Vector3(hit.point.x,hit.point.y,10)), Quaternion.identity);
 }
}




SaM_ 03.08.2011 14:06

Ответ: Фак по Юнити.
 
Как сделать, что бы материал плавно становился прозрачным?

Lestar 03.08.2011 15:04

Ответ: Фак по Юнити.
 
PHP код:

Mesh mesh meshRenderer.mesh;
Color[] colors mesh.colors;

for (
int i=0;i<colors.Length;i++) 
{
  
Color _color colors[i];
  
_color.1.0f;  //Color.a это и есть наш альфа канал.Оперируем значением этой переменной
  
colors[i] = _color;
}
mesh.colors colors


SaM_ 03.08.2011 17:15

Ответ: Фак по Юнити.
 
Lestar, это C#?

Lestar 03.08.2011 17:21

Ответ: Фак по Юнити.
 
Это js
PHP код:

var mesh MeshmeshRenderer.mesh;
var 
colors Color[] = mesh.colors;

for (var 
i=0;i<colors.Length;i++) 
{
  var 
_color Color colors[i];
  
_color.1.0;  //Color.a это и есть наш альфа канал.Оперируем значением этой переменной
  
colors[i] = _color;
}
mesh.colors colors


SaM_ 03.08.2011 18:06

Ответ: Фак по Юнити.
 
Каким образом можно отдалять или приближать объект используя колесико на мышке??? :3

Lestar 03.08.2011 22:16

Ответ: Фак по Юнити.
 
Определяем дельту при скроллинге
PHP код:

function OnGUI()
{
  
_event Event Event.current;

  if (
_event.type == EventType.ScrollWheel)
        {
            
Debug.Log(_event.delta);//_event.delta это и есть дельта,которую можно использовать  для изменения позишен обьекта
        
}


Пример использования _event.delta
PHP код:

if (_event.type == EventType.ScrollWheel)
        {
           
transform.position=Vector3((transform.position.x+_event.delta.y,transform.position.y,transform.position.z);
        } 


SaM_ 04.08.2011 13:59

Ответ: Фак по Юнити.
 
Lestar, не очень понял суть твоих примеров.
В моём случае решил сделать так:

PHP код:

if(Input.GetAxis("Mouse ScrollWheel") > 0)
    {
    
distance += 0.1;
    }
                        
if(
Input.GetAxis("Mouse ScrollWheel") < 0)
    {
     
distance -= 0.1;
    } 

var distance отвечает за z положение объекта.

Lestar 04.08.2011 15:00

Ответ: Фак по Юнити.
 
PHP код:

if (_event.type == EventType.ScrollWheel)
        {
           
transform.position=Vector3(transform.position.x,transform.position.y,(transform.position.z+_event.delta.y*0.03));
        } 


SaM_ 06.08.2011 00:12

Ответ: Фак по Юнити.
 
Как сделать свой collision объект?

Lestar 06.08.2011 00:49

Ответ: Фак по Юнити.
 
Добавить к коллайдеру non-kinematic регидбоди.

SaM_ 06.08.2011 01:44

Ответ: Фак по Юнити.
 
А если мне надо что бы объект был динамическим?


Часовой пояс GMT +4, время: 15:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot