játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5478
FZoli:    4893
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2526

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2195
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] > 9 < [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [56]
Pixi - Tag | 206 hsz       Online status #208089   2015.08.11 20:01 GMT+1 óra  
Viperion:
Mintha én tettem volna fel már régebben hasonló kérdést itt, bár most nem tudom pontosan erre gondolsz-e, de less rá, esetleg kicsit görgess lejjebb ha kell, kép is van mellékelve arról amire gondolok:

Régi hsz.

   
Tunyu - Tag | 450 hsz       Online status #208088   2015.08.11 19:04 GMT+1 óra  
Ez alapján meg tudod írni a sajátod.

   
Tibsy - Tag | 307 hsz       Online status #208087   2015.08.11 16:54 GMT+1 óra  
Szeretnék adatokat ki/be (txt,png.) tölteni egy már kész projektbe egy megadott mappából de sajnos még azt sem tudom hogy keresem az erre vonatkozó parancssort unity manual-ba
lényegébe ezzel azt szeretném megoldani hogy a játékos saját fotót rakhasson a játékba ill az ott készült eredményt ki tudja menteni valahova de se a mentésre se a betöltésre nem találtam megoldást a legapróbb segítséget is előre köszönöm
   
Slyrfecso - Tag | 44 hsz       Online status #208086   2015.08.11 14:05 GMT+1 óra  
Végre sikerült kitalálnom egy olyan megoldást ami majdnem tökéletes,
ráadásul egy tapadás funkcióval is kiegészült.
A tesztbe beépítettem egy debug.consolt, ahol látható mi is történt.

A logikai változó és az OnTrigger nagyon nagy segítség volt, még1x köszönöm mindenkinek.
(Jelenleg a két szekrényre és az első asztalra állítottam be a pontos Box colidert, így csak azok tapadnak jól)


ABBAN kérném még a segítségeteket, hogy két Box Colider érintkezése esetén a visszaérkezési pont
az egyik felénél legyen.



TESZT2

Kód:
using UnityEngine;
using System.Collections;

//[RequireComponent(typeof(BoxCollider))]

public class drag_mouse : MonoBehaviour
{

private bool Triggered = false;


Vector3
screenPoint,
offset,
scanPos,
curPosition,
curScreenPoint;



void OnMouseDrag()
{
if(Input.GetKeyDown(KeyCode.A))
transform.Rotate(0, 90, 0);

if(Input.GetKeyDown(KeyCode.C))
Destroy (gameObject);

if(Input.GetKeyDown(KeyCode.D))
Instantiate (gameObject);


float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
Vector3 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen ));
transform.position = new Vector3( pos_move.x, transform.position.y, pos_move.z );


}


void OnTriggerEnter (Collider myTrigger)
{
if(myTrigger.gameObject.tag == "Player")
{
scanPos = gameObject.transform.position;
Triggered = true;
Debug.Log(name + " Triggered");
}
}


void OnTriggerExit (Collider myTrigger)
{
if(myTrigger.gameObject.tag == "Player")
{
Debug.Log(name + " Snap feloldása Drag alatt");
Triggered = false;
}
}




void OnMouseUp()
{
if (Triggered)
{
transform.position = scanPos;
Debug.Log(name + " Vissza az érintkezési ponthoz");

}

}


}

   
Viperion - Tag | 540 hsz       Online status #208076   2015.08.08 23:29 GMT+1 óra  
Ha azt akarom,hogy minden képernyő felbontásban jól mutassa a játékot a képernyő ,akkor ,hogyan csináljam meg,hogy jó legyen.

Például ha van két ugyanolyan képarányú de eltérő felbontású képernyő akkor a fullh felbontásra tervezett képek sokkal nagyobbak lesznek a hd képernyőn. Ez miatt a képek egy része ki esik a képernyőből.

Még rosszabb a helyzet abban az esetben ha a képarány is más.

Hogyan kell ezt megoldani?

Ezt a hozzászólást Viperion módosította (2015.08.10 16:33 GMT+1 óra, ---)

   
Instalok - Tag | 602 hsz       Online status #208073   2015.08.08 13:18 GMT+1 óra  
Egyébként a 0,0000003 miért nem jó neked a 0,0 helyett? A "rosszul állítottad" össze részt meg úgy értettem, hogy rossz helyen vannak a pivotok, az anchor lehet rossz, a méret rosszul van belőve, stb., így különböző felbontásokon máshogy néz ki.

   
Tunyu - Tag | 450 hsz       Online status #208072   2015.08.08 12:42 GMT+1 óra  
Ez a funkció csak screen space módban érhető el és kicsit javít a pontosságon, de már maradok a world space módnál, itt az instant létrehozott objektumokat viszonylag pontosan oda rakja és olyan méretben amilyenben szeretném az editorban és a build-ban is.

   
zbalai - Tag | 54 hsz       Online status #208071   2015.08.08 10:54 GMT+1 óra  
Tunyu: nekem akkor nyomta ezeke a kis számokat a UI kontrollokra amikor a Canvason "pixel perfect" beállítást használtam. Ilyenkor a több szint miatt az alsóbb szinteken törtszámora jön ki, ha pixel pontosan akarsz valamit elhelyezni.

   
Slyrfecso - Tag | 44 hsz       Online status #208065   2015.08.07 14:36 GMT+1 óra  
Lehet az a legjobb ha megmutatom, hogy mit szeretnék. Nagyon demo, ezért kérlek ne nevessetek hangosan

Test1

A bútorok nem haladhatnak át egymáson, ezért OnTrigger, vagyis érintkezés esetén egyet vissza kellene dobnia az adott tengelyen. A bútorokat pontosan egymás mellé kellene illeszteni.
Ha esetleg valaki Skypeon segítene, nagyon-nagyon hálás lennék!!!

ifjfecso.home

   
Tunyu - Tag | 450 hsz       Online status #208060   2015.08.06 23:16 GMT+1 óra  
Nem tudom mit állíthattam rosszul össze, de ha így van akkor nagyon...
Screen Space módban kipróbáltam az összes beállítási lehetőséget de sehogy sem volt jó, vagy nagyobb volt a prefab gomb mint a másik vagy fordítva vagy a pozíciója nem stimmelt, és akkor ez csak az editor mód, a buildban meg egészen más.Így maradok a world space módnál, itt legalább csak a számokban tűnik fel az eltérés.Még azt is megnéztem hogy nem a multiple camera rendszer miatt van e, de egy szimpla cameránál is ugyan az van.

Slyrfecso :
Ha ezt rádobod az objektumodra akkor szépen működik,de az OnTrigger-el nem értem hogy mit akarsz.
Kód:
using UnityEngine;
using System.Collections;

public class Drag : MonoBehaviour {
public float distance = 10;

void OnMouseDrag(){
if (Input.GetKeyDown (KeyCode.A)) {
transform.Rotate (0, 10, 0);
}
if (Input.GetKeyDown (KeyCode.C)) {
Destroy (gameObject);
}
if (Input.GetKeyDown (KeyCode.D)) {
Instantiate (gameObject);
}
Vector3 objPosition = Camera.main.ScreenToWorldPoint( new Vector3(Input.mousePosition.x,Input.mousePosition.y,distance));
transform.position = objPosition;
}

}

Ezt a hozzászólást Tunyu módosította (2015.08.07 10:17 GMT+1 óra, ---)

   
Instalok - Tag | 602 hsz       Online status #208059   2015.08.06 21:31 GMT+1 óra  
Tunyu: nem lehet, hogy rosszul állítottad össze a guit, és felbontásfüggő? Ezért néz ki másképp a standalone buildben, mint az editorban.

A worldspace esetén meg valószínűleg csak kerekítési probléma. Néha odarakja, ahova írod, máskor meg nem. Ez van. Ha megnézed, az azért elég kicsi egy szám.

   
Tunyu - Tag | 450 hsz       Online status #208057   2015.08.06 20:25 GMT+1 óra  
zbalai :
Használom a SetParent-et, de nem csak az instantiate-nál van gond.Ha simán lerakom a panelt és annak gyerekeként egy buttont, hiába állítom be az x pozíciót 0 rá, amint leütöm az entert, máris elugrik az értéke 3.742288e-06-ra, de ez más elemeknél is így van. Ez van world space módban.
Screen space - camera módban meg nagyon jól működik az instantiate, precízen oda rakja az adott koordinátára és szépen működik az editorban, de amikor megvan a build, az exe-ben teljesen eltérő helyre és méretben rakja le.
A viszonylag jó worldspace: http://jatekfejlesztes.hu/datas/users/3125-worldspace.jpg
És a kevésbé jó screenspace: http://jatekfejlesztes.hu/datas/users/3125-screenspace.jpg

Ezt a hozzászólást Tunyu módosította (2015.08.06 20:36 GMT+1 óra, ---)

   
Slyrfecso - Tag | 44 hsz       Online status #208053   2015.08.06 13:56 GMT+1 óra  
Még egy kis segítség kellene. Az objectumokhoz Kinematic Riggidbody-t használok így a Triggerelést tudom Debuggolni. Részben el is értem, hogy észlelés esetén a transform.position megmozduljon, de sajnos arra az objektumra van hatással amelyikhez hozzáérek és nem ahhoz amelyikkel. így eltolja a tárgyat magától.

Hogyan tudnám az OnTriggert beágyazni az OnMouseDrag-be?
Illetve, hogy Triggelés esetén egyet visszalépjen az észlelés irányából?

Kód:
using UnityEngine;
using System.Collections;

//[RequireComponent(typeof(BoxCollider))]

public class drag_mouse : MonoBehaviour
{

private Vector3 screenPoint;




void OnMouseDrag()
{
if(Input.GetKeyDown(KeyCode.A))
transform.Rotate(0, 90, 0);

if(Input.GetKeyDown(KeyCode.C))
Destroy (gameObject);

if(Input.GetKeyDown(KeyCode.D))
Instantiate (gameObject);



float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
Vector3 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen ));
transform.position = new Vector3( pos_move.x, transform.position.y, pos_move.z );

}


void OnTriggerEnter (Collider myTrigger) {
if(myTrigger.gameObject.tag == "Player"){
float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
Vector3 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen ));
transform.position = new Vector3( pos_move.x, transform.position.y, pos_move.z);
Debug.Log(name + " Triggered");
}
}

}

   
zbalai - Tag | 54 hsz       Online status #208052   2015.08.06 13:43 GMT+1 óra  
Tunyu: Az Intantiate mindig a root-ba teszi az új GameObject-et. UI elemeknél viszont érdemes áttenni egy struktúrába.
Amiko viszont átteszed SetParent-el pl akkor hozzányúlhat a koordinátákhoz is.
Mindenesetre ha akarsz 5-10 perc skype konzultációt a témában akkor keress meg zbalai usernévvel.
Ja meg ilyen hosszú cuccokat én általában kiírom több sorba, akár több változóval.

   
Tunyu - Tag | 450 hsz       Online status #208020   2015.07.31 10:59 GMT+1 óra  
Írtam egy kis kódot a popup menü létrehozásához amiben egy button prefabot hívok meg. A gond ott van hogy az instantiate hívásban megadott adatoktól jelentősen eltér a button pozíciója és a szöge is.Én rontok el valamit, vagy ez valami hiba?Próbáltam a prefabon is beállítani, de akkor sem volt pontos.
Kód:
GameObject newResButton =
(GameObject)Instantiate (ButtonPref, new Vector3 (0.0f, (-10 + resolutions.Length * 30 / 2 - 30) - i * 30, 500.0f)
                         , Quaternion.Euler(new Vector3(10.0f,15.0f,0.0f))/*Inverse (ButtonPref.transform.rotation)*/)

   
Viperion - Tag | 540 hsz       Online status #208019   2015.07.31 02:28 GMT+1 óra  
Nem bírom megérteni ezt a részt.
Vizuális típus vagyok ezért próbálom elképzelni de itt összazavarodok.
Szavakba tudnátok önteni ezt a sort:
transform.position += Vector3.ClampMagnitude(v, Mathf.Clamp(radius - v.magnitude, 0, radius));
A 208012 hozzászólásban található a teljes kód de csak ezzel az egy sorral gyűlt meg a bajom.
A dokumentációban elolvastam mit csinálnak de nem látom mire jó ez így.

Ezt a hozzászólást Viperion módosította (2015.07.31 02:36 GMT+1 óra, ---)

   
warlock - Törzstag | 704 hsz       Online status #208017   2015.07.30 15:01 GMT+1 óra  
Köszi.

   
Slyrfecso - Tag | 44 hsz       Online status #208016   2015.07.30 10:03 GMT+1 óra  
Gratulálok nagyon szép munka, a videó is elég jól szemlélteti a működését.

   
warlock - Törzstag | 704 hsz       Online status #208014   2015.07.29 18:42 GMT+1 óra  
Sziasztok.
Gondoltam világgá kürtölöm hogy végre kikerült az asset storera a voxel szerkesztőm, hátha érdekel valakit.
https://www.youtube.com/watch?v=Ci1pgz5HA4Q
https://www.assetstore.unity3d.com/en/#!/content/39877

   
Slyrfecso - Tag | 44 hsz       Online status #208012   2015.07.29 14:08 GMT+1 óra  
Sajnos korai volt az öröm, mert a Physics.OverlapSphere-nek nincs Box változata.
Tudnátok abban segíteni, hogyan lehetne ezt a scriptet átírni Box collideres-re?

Kód:
using UnityEngine;
using System;
using System.Collections.Generic;

public class SuperCharacterController : MonoBehaviour {

[SerializeField]
float radius = 0.5f;

private bool contact;

// Update is called once per frame
void Update () {

contact = false;

foreach (Collider col in Physics.OverlapSphere(transform.position, radius))
{
Vector3 contactPoint = col.ClosestPointOnBounds(transform.position);

Vector3 v = transform.position - contactPoint;

transform.position += Vector3.ClampMagnitude(v, Mathf.Clamp(radius - v.magnitude, 0, radius));

contact = true;
}
}

}

   
Slyrfecso - Tag | 44 hsz       Online status #208011   2015.07.29 10:28 GMT+1 óra  
Isten király vagy!!!!!!!
A drag scriptemhez hozzáadtam az általad belinkeltet és tökéletesen működik.
A sciptben gömb collider van azt módosítottam kockára és nem mennek át egymáson az objektumok!
Riggidbody-t sem kellett használnom.

   
Instalok - Tag | 602 hsz       Online status #208010   2015.07.29 08:00 GMT+1 óra  
Rigidbody-val természetesen "pattog", mert az fizikát használ, erő-ellenerő, stb.

Amit megpróbálhatsz, az valami olyasmi, mint egy CharacterController. Mármint nem ezt használni, hanem hasonlót leimplementálni. Amire ehhez szükséged van, az az, hogy ütközéskor a Collision osztály információinak segítségével visszapakold az objektum pozícióját oda, ahol nem ütközik.

Edit:
Például valami ilyesmi, nem néztem végig.

Ezt a hozzászólást Instalok módosította (2015.07.29 08:16 GMT+1 óra, ---)

   
Slyrfecso - Tag | 44 hsz       Online status #208007   2015.07.28 22:13 GMT+1 óra  
Sziasztok!

Találtam egy videót ami elég jól bemutatja az OnCollisionEnter, OnTriggerEnter, and OnMouseDrag kapcsolatát, de sajnos a Riggidbody fizikájára nincs szükségem és össze-vissza pattognak a tárgyak ha érintkeznek.

Kód:
using UnityEngine;
using System.Collections;

public class CollisionDetect : MonoBehaviour {

// Use this for initialization
void OnCollisionEnter(Collision c) {
Debug.Log(name + " Collided");
}

// Update is called once per frame
void OnTriggerEnter(Collider c) {
Debug.Log(name + " Triggered");

}
}



Kód:
using UnityEngine;
using System.Collections;

public class MouseDrag : MonoBehaviour {


// Use this for initialization
void OnMouseDrag() {
RaycastHit hitInfo;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
Debug.DrawRay(ray.origin, ray.direction * 100);
if(Physics.Raycast (ray,
                    out hitInfo,
                    100,
                    (1<<LayerMask.NameToLayer("Ground"))) ){
transform.position = new Vector3(hitInfo.point.x, transform.position.y, hitInfo.point.z);
};

}
}

   
Slyrfecso - Tag | 44 hsz       Online status #208005   2015.07.28 15:38 GMT+1 óra  
Köszönöm a tanácsot valóban ez a probléma, de sajnos nem tudom megoldani.
Egyszerűsítettem a kódot, így ha tudnátok segíteni, megköszönném.

Kód:
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(BoxCollider))]

public class drag : MonoBehaviour
{

void OnMouseDrag()
{
float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
Vector3 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen ));
transform.position = new Vector3( pos_move.x, transform.position.y, pos_move.z );

}


}

   
Viperion - Tag | 540 hsz       Online status #208004   2015.07.27 16:57 GMT+1 óra  
Szerintem OntriggerEnter metódust használd.
Ha ütköznek át álítasz egy logikai változót hamisra. Ebben a logikai változóban tárold,hogy ütköznek e vagy sem. És azt,hogy kurzorral mozgathatod e az objektumot vagy sem kösd ahhoz a feltételhez,hogy ennek a logikai változónak igaznak kell lennie.

   
Instalok - Tag | 602 hsz       Online status #208003   2015.07.27 16:32 GMT+1 óra  
Ha ütközést, vagy egyéb fizikát szeretnél, akkor nem írhatod felül a transform pozícióját. Gondolj bele, az ütközésnek kell meghatároznia a pozíciót.

   
Slyrfecso - Tag | 44 hsz       Online status #208002   2015.07.27 14:04 GMT+1 óra  
Kód:
using UnityEngine;
using System.Collections;

//[RequireComponent(typeof(BoxCollider))]

public class drag_mouse : MonoBehaviour
{

private Vector3 screenPoint;
private Vector3 offset;

void OnMouseDown()
{
screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position);

offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}

void OnMouseDrag()
{
if(Input.GetKeyDown(KeyCode.A))
transform.Rotate(0, 90, 0);

float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
Vector3 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen ));
transform.position = new Vector3( pos_move.x, transform.position.y, pos_move.z );

}


}

   
Slyrfecso - Tag | 44 hsz       Online status #208001   2015.07.27 14:04 GMT+1 óra  
Sziasztok!

Új tagként szeretnék segítséget kérni egy alapvető fejlesztői problémához.
Adott két alap kocka. Ezeket egérrel mozgatom, azonban bármit állítok átmennek egymáson.
Azt szeretném, hogy egymás mellé érve az egeret elengedve megálljon abban a pozicióban.

Előre is köszönöm a segítséget.

   
Tunyu - Tag | 450 hsz       Online status #207995   2015.07.25 08:59 GMT+1 óra  
Igazad van annak nem sok köze van hozzá, csak már nem tudtam hova tenni ezt a dolgot. A probléma okozója a player settings-ben bekapcsolt virtual reality support volt. Nem futott a háttérben a program , és a vsync sem működött.

   
Instalok - Tag | 602 hsz       Online status #207994   2015.07.25 06:49 GMT+1 óra  
Mi köze van a UI-nak a vsynchez? Nem volt mostanában már egy ilyesmi kérdésed?

   
Tunyu - Tag | 450 hsz       Online status #207990   2015.07.24 14:47 GMT+1 óra  
Az "új" UI rendszerre próbálok átállni, de van némi problémám. A régi UI-nál a beállításoknál jól működött a vsync és a targetframerate is, de itt az új UI-nál már valami oknál fogva figyelmen kívül hagyja és maximumon pörög.Mi lehet a hiba?

   
Instalok - Tag | 602 hsz       Online status #207989   2015.07.23 06:43 GMT+1 óra  
Igen, ennyi a lényege. Ha meg nem normalizálod, akkor átlós irányban gyorsabban haladsz, mert a vektor hossza nem 1.

Ha Unity-zel, akkor is tanulnod kell egy minimális 3D grafikához szükséges matekot. Keress valami olyan anyagot, ami ábrákkal / példákkal magyarázza el ezeket a dolgokat, nem kell belemenni a matek legmélyébe. Viszont hidd el, szükséged lesz rá, és sokkal könnyebben meg fogsz érteni, illetve meg fogsz tudni oldani problémákat.

   
Viperion - Tag | 540 hsz       Online status #207988   2015.07.22 21:58 GMT+1 óra  
Kösz Zbalai,hogy szentelnél rám időt. De úgy döntöttem még egyszer megpróbálom neki vetem magamat ennek a feladatnak

Instalok te írtad,hogy ha több irányba is megyek akkor legyen a velocity hossza egy.
Értem miért kell normalizálni de azt már nem értem,hogy,hogyan lehet több irányt adni ,hogy aztán normalizálásra legyen szükség.

Így gondoltad:
Vector3 velocity = Vector3.right;
velocity += Vector3.up;
És akkor ilyenkir kell normalizálni.

Így gondoltad?

   
zbalai - Tag | 54 hsz       Online status #207982   2015.07.20 20:48 GMT+1 óra  
Viperion:
Hát szerintem mindenkinek van problémamegoldó képessége.

Egyébként ha meg konkrétan egy probléma megoldására kérsz kb max fél óra screen sharing-es konzultációt, akkor akár én is szívesen segítek.

Excel használata megtanulható 1-2 óra alatt. A kódolást magasabb szinten évekig szokták tanulni.
Unity 3D-hez soxor elég a "scriptelés" szint is, amikor csak pár sorban beírsz valami automatikát.

   
Viperion - Tag | 540 hsz       Online status #207981   2015.07.20 16:19 GMT+1 óra  
Az udk hoz túl gyenge a gépem.
Úgy döntöttem a lehető legegyszerűbbet választom és ha ezzel sem fog menni,akkor nyomorult vagyok. :-)
Construct2d úgy ajánlották. Nagy a közössége is és aktívan fejlesztik. Lemondok a kódolásról.
Én pedig köszönök mindent nektek amit eddig tőletek kaptam. Lebaszásoktól a segítségekig és sok sikert.
Lehet,hogy a siker egyik titka az,hogy legyünk tisztában képességeink határaival.

Egyébként a fejembe látom,hogy kéne manipulálani a velocity-t hogy a kívant eredményt kapjam csak amikor a kódolásra kerül a sor ,akkor leblokkolok teljesen.

   
FZoli - Szerkesztő | 4893 hsz       Online status #207980   2015.07.20 14:25 GMT+1 óra  
Nyilvánvalóan nincs problémamegoldó képességet, és úgy néz ki türelmed sem ahhoz, hogy a unity-t úgy megismerd, hogy ellensúlyozni tudd ezt.. Esetleg próbálj meg valamit UDK-val összedobni. Nem mondanám egyszerűbbnek, de jobban alád tesz dolgokat, van ismerősöm, aki hasonló okokból tért át. Akár mit is választasz, ne próbáld meg feltalálni a spanyol viaszt, hanem próbáld meg az eszköz asta lehetőségeket használni
   
Lord_Crusare - Törzstag | 1312 hsz       Online status #207979   2015.07.20 13:46 GMT+1 óra  
Ehhez fizikát kellene használni és erőhatásokkal dolgozni, nem rögtön eltolni a modellt abba az irányba, amerre mennie kell.

   
Viperion - Tag | 540 hsz       Online status #207978   2015.07.20 13:45 GMT+1 óra  
Asszem lemondok a programozásról. És köszi a kódot profi vagy.
Hiába értem a kódodat ha jön a következő probléma amit kitalálni szintén nem tudok.
Elegem van már abból,hogy újból erőt veszek magamon majd később kiderül,hogy teljesen felesleges volt. Nézek magamnak valami egyszerűbbet amiben lehetnek sikerélményeim a 3d ről pedig lemondok. Tudnátok ajánlani nekem valamit az unity helyett?

Egyébként azt nem tudtam kódba önteni,hogy amikor megfordulok az űrhajóval mikor már megyek vele egész gyorsan,akkor ne egyből az új irányba haladjon amit az iputtal beálítottam,hanem lassuljon le 0 ra majd úgy vegye fel az új irányt. Mert csak így képes rá mert ugye elősször le kell győzni azt az irányú mozgási sebességet ami a régi irányba vitte.

   
Instalok - Tag | 602 hsz       Online status #207976   2015.07.20 06:45 GMT+1 óra  
Lehet, hogy elírtam valamit, kicsit reggel van még, és nem próbáltam ki:
Kód:
// ennyivel gyorsul
public float acceleration;

// jelenlegi tempó
private float currSpeed = 0.0f;

private void FixedUpdate()
{
    currSpeed += acceleration * Time.deltaTime; // ennyivel megy
    Vector3 velocity = Vector3.right; // amerre menni akarsz
    //velocity.Normalize(); // ha több irányba is mész egyszerre, legyen a velocity hossza 1

    transform.Translate(velocity * currSpeed); // mozgás
}

   
Viperion - Tag | 540 hsz       Online status #207975   2015.07.20 00:00 GMT+1 óra  
Egyenletes sebeséggel gyorsuló objektumot,hogyan kell leprogramozni mert nem megy.
Másodpercenként 5 pixelt gyorsuljon de nem tudom kigondolni az algoritmust.

Találtam egy ilyet de nekem ez nem jó.
Kód:
     var acceleration : float;
     var maxSpeed : float;
     
     function Update() {
     transform.Translate(0, acceleration * Time.deltaTime, 0);
     if (acceleration < maxSpeed) {
     acceleration += 1;
     }
     }

Nekem olyan megoldás kell amivel be tudom lőni azt,hogy egy másod perc alatt mennyit gyorsuljon.
Nem sikerül kitalálnom az algoritmust.

Ezt a hozzászólást Viperion módosította (2015.07.20 00:34 GMT+1 óra, ---)

   
Instalok - Tag | 602 hsz       Online status #207973   2015.07.19 16:38 GMT+1 óra  
Meg lehet-e mondani valahogy a Unity-nek, hogy a compile nem sikerült? Úgy értem szándékosan. Code injectiont csinálok, amiben van bizonyos mértékű hibakezelés is. Azt szeretném, ha a weaving közben hibát talált, akkor ugyan úgy ne lehessen elindítani / buildelni, mintha compiler error lett volna.

Megkerestem azt, hogy mi írja ki a képernyőre, hogy "all compiler errors have to be fixed ...", de azt már nem találtam meg, hogy ezt a függvényt ki hívja meg.

   
Matzi - Szerkesztő | 2526 hsz       Online status #207957   2015.07.16 19:58 GMT+1 óra  
Whiletrue:
A fizetési igény nagy szórást tud mutatni. Annyit nem árt megjegyezni, hogy a játékszakma alapvetően nem a legjobban fizető iparágak közé tartozik. Így mondjuk egy más területen működő cégnél akár 200 körül is simán várhatsz kezdő fizetést programozóként nulla tapasztalattal, addig mondjuk egy játékfejlesztő cégnél könnyen lehet, hogy csak a felét-háromnegyedét fogják adni. Sok mindentől függ, leginkább a cég anyagi helyzetétől, és hogy mennyire kell nekik az ember.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Instalok - Tag | 602 hsz       Online status #207956   2015.07.16 18:52 GMT+1 óra  
A C# topicban érdeklődtem code rewrite után, megvan az én emberem: Mono.Cecil lesz az, amit én kerestem. Egészen jól működik, egy idő után rá lehet érezni, hogy mi a különbség a Definition meg a Reference között, mikor mit kell importálni, getelni, stb. No meg nem árt némi assembly-ismeret sem, mivel lowlevel kódot kell injectálni.

Apropó, a Unity is így dolgozik a Networkinggel. Az RPC meg SyncVar stb. mindegyik átalakul, ezt a Unity.UNetWeaver assembly csinálja. ILSpy segítségével meg lehet nézni, hogy mit csinál. Aki ilyesmire vetemedik, annak ez egy nagyon hasznos progi.

   
Whiletrue - Tag | 2 hsz       Online status #207946   2015.07.09 21:31 GMT+1 óra  
Idézet
Matzi :
Whiletrue:
Erre nem nagyon van bevált minimál recept. Ami biztos, hogy programozni kell tudni, ez alatt azt értem hogy ismerd a nyelvet és tudjál problémákat megoldani. Ha be akarsz kerülni valahová, akkor a legegyszerűbb ha csinálsz egy játékot. Vagy többet. Aki ért hozzá, az tudja, hogy mennyi munka van mögötte, és jobban fogják értékelni, mintha mondjuk valami tanfolyamot végeztél volna el. Persze semmi sem biztos, bekerülni általában nehéz a szakmába, de kitartással és megfelelő mennyiségű alkotással nem lehetetlen. Olvass, tanulj, de ami fontosabb, alkoss.



Köszönöm a választ. Már készítettem pár játékot és jelenleg is dolgozom egyen. A problémamegoldással szerintem nincs gond, sok időt töltöttem már kódolással.
Valamint elfelejtetem még egy kérdést múltkor. Sok helyen kérnek fizetési igényt cv mellé. Kezdőként kb milyen intervallumban gondolkodjak ?(Unity C# játékfejlesztőként)
Egyébként bármilyen jótanácsot szívesen fogadnék. Akár saját játékot is tudok küldeni, ha az alapján könnyebb bármit is mondani.

   
zbalai - Tag | 54 hsz       Online status #207944   2015.07.09 16:24 GMT+1 óra  
5000 USD
Ennyit lehet nyerni ezen a VR versenyen:
http://www.archiactevents.com/

Neveztem is három ötlettel, amiből kettőben még lehet segíteni:
Learn Languages:
Itt fekvő pozícióban nézegetünk egy nénit, hogy megtanuljuk a testrészeit más nyelveken.
http://www.archiactevents.com/teams/118

Tank Blaster
Ez egy 3D voxel cucc lenne, ahol te vagy egy tankkal és lövöd a másikat látványos robbanásokkal
http://www.archiactevents.com/teams/123


   
Viperion - Tag | 540 hsz       Online status #207943   2015.07.09 13:55 GMT+1 óra  
Már értem.
Most már csak megkéne tanulnom,higyan kell megcsinálni a szerver részt ,kliens részt.
De szerintem ez baromi bonyolult.

   
FZoli - Szerkesztő | 4893 hsz       Online status #207941   2015.07.09 07:52 GMT+1 óra  
jogos, a scriptek valóban bekerülnek, reggel volt még
   
Instalok - Tag | 602 hsz       Online status #207940   2015.07.09 07:49 GMT+1 óra  
Ha egy projektben van, akkor a szerver kód is visszafejthető, mert a teljes forráskódot - használatától függetlenül - tartalmazza a build.

Alapvetően szerver-kliens modellnél 3 részből áll a kódbázis:
- server
- client
- shared

A server résznek nyilván csak a szerver oldalon kell léteznie, ezért valóban érdemes külön projektet fenntartani. Ezt azonban szerintem csak a fejlesztés végefelé jó ötlet megcsinálni, addig csak bonyolítja a szinkronizálást a kliens és a szerver között.

A client pedig kliens oldalon létezik; ezek főleg a megjelenítésért, illetve input kezelésért felelős dolgok.

A shared meglepő módon mindkét oldalon szükséges. Ezek főleg olyan dolgok, amik segítségével kommunikál a szerver és a kliens egymással.

   
FZoli - Szerkesztő | 4893 hsz       Online status #207939   2015.07.09 06:23 GMT+1 óra  
minden lehet egyetlen projektben? Ha igen ,akkor ez rossz ötlet nem mert csak visszafejtik a fájlokat és át írják a szerver részt és már lehet is csalni.

Ez akkor lenne igaz, ha a unity minden vackot belefordítana a buildbe ami a project mappájában van, és nem csak azokat, amiket a scene használ. De szerencsére azért van ennyire okos. Ettől függetlenül lehet, hogy külön projecten tartanám, akkor lehet nyitve szerver és kliens project egymás mellett, nem kéne scene-k között váltogatni.
   
Viperion - Tag | 540 hsz       Online status #207938   2015.07.08 23:54 GMT+1 óra  
"Így egy módosított kliens nem okoz gondot."
Ebből az jutott eszembe,hogy ha szeretnénk multiplayert a játékunkba,akkor maga a szerver rész az egy teljesen külön álló projekt lenne az unitybe. Csak a kliens része van beépítve alapból a játékba.
Ez így van? És ti is így csináljátok? A szervernek szánt számítógépre ráteszitek a szerver projektet és már kapcsolódhatnak is oda a kliensek.

Vagy minden lehet egyetlen projektben? Ha igen ,akkor ez rossz ötlet nem mert csak visszafejtik a fájlokat és át írják a szerver részt és már lehet is csalni.

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] > 9 < [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [56]