.[ ČeskéHry.cz ].
UDK - Unreal Development Kit

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Deloix



Založen: 24. 02. 2010
Příspěvky: 2

PříspěvekZaslal: 25. únor 2010, 07:42:11    Předmět: UDK - Unreal Development Kit Odpovědět s citátem

Chtěl bych se zeptat zda v tom někdo nedělá, potřeboval bych pomoct s jednoduchým scriptem (jednoduchý pro někoho kdo s tim umí) a na oplátku jsem ochoten pomoci s 3D grafikou v přbližně podobné časové náročnosti.
Skoro celý jsem to už udělal sám, ale potřebuju vychytat pár much.

jde mi o 2D kameru a aby se postava neovládala myší. Ted jsem docílil toho že mám kameru zafixovanou na ose X a může se hýbat jen v ose Z a Y, stejně tak postava. odstarnit potřebuji otáčení postavy pomocí myši a aby kamera neskákala spolu s postavou, i když to asi zvládnu snad sám.

tady je poslepovanej kod z dalších asi 3.


kód:

class mypawn extends GamePawn placeable;

enum Ecamerastyle
{
   Fixed,
   ThirdPerson,
   FreeCam,
   FreeCam_Default,
   FirstPerson
};
var() Ecamerastyle   camerastyle;
simulated function bool CalcCamera( float fDeltaTime, out vector out_CamLoc, out rotator out_CamRot, out float out_FOV )
{
   local vector CameraStart;
   local vector newLocation;
   
   //Start at the player's location.
   CameraStart = Location;
   newLocation = Location;
   //Set the Z Offset how high or low the camera is.
   //   CameraZOffset = GetPawnViewLocation().Z;

   //Set the Camera Z Offset
   CameraStart.Z += 100;

   //Since we want to look down the Positive X axis lets move
   //away from our player down the negitive X axis
   CameraStart.X += -512;

   //Set final location
   out_CamLoc = CameraStart;

   //setting the Yaw to -90 rotated the camera to look down the x axis
   out_CamRot.Yaw = -90;

   //Setting the Pitch to 90 locked the camera so it doesn't rotate up and down.
   out_CamRot.Pitch = 90;
   
   
   

newLocation.X = 0;    //Makes sure the player never leaves the x origin.

SetLocation(newLocation);




   return true;
}





defaultproperties
{
   Begin Object Class=DynamicLightEnvironmentComponent Name=MyLightEnvironment
      ModShadowFadeoutTime=0.25
      MinTimeBetweenFullUpdates=0.2
      AmbientGlow=(R=.01,G=.01,B=.01,A=1)
      AmbientShadowColor=(R=0.15,G=0.15,B=0.15)
      LightShadowMode=LightShadow_ModulateBetter
      ShadowFilterQuality=SFQ_High
      bSynthesizeSHLight=TRUE
   End Object
   Components.Add(MyLightEnvironment)

    Begin Object Class=SkeletalMeshComponent Name=InitialSkeletalMesh
      CastShadow=true
      bCastDynamicShadow=true
      bOwnerNoSee=false
      LightEnvironment=MyLightEnvironment;
       
        CollideActors=true;
        BlockZeroExtent=true;
       PhysicsAsset=PhysicsAsset'CH_AnimCorrupt.Mesh.SK_CH_Corrupt_Male_Physics'
      AnimSets(0)=AnimSet'CH_AnimHuman.Anims.K_AnimHuman_AimOffset'
      AnimSets(1)=AnimSet'CH_AnimHuman.Anims.K_AnimHuman_BaseMale'
      AnimTreeTemplate=AnimTree'CH_AnimHuman_Tree.AT_CH_Human'
      SkeletalMesh=SkeletalMesh'CH_LIAM_Cathode.Mesh.SK_CH_LIAM_Cathode'
            
      RBCollideWithChannels=(Default=true,GameplayPhysics=true,Pawn=true)
      bHasPhysicsAssetInstance=true
      PhysicsWeight=1.0f
      BlockRigidBody=true;
         
      End Object
   
   Mesh=InitialSkeletalMesh;
   Components.Add(InitialSkeletalMesh);

   CollisionType=COLLIDE_BlockAll
    // added to stop the pawn from floating in the air.. not sure why it does.
   Begin Object Name=CollisionCylinder
   CollisionRadius=+0021.000000
   CollisionHeight=+0048.000000
   End Object

   CylinderComponent=CollisionCylinder
   
   camerastyle=thirdperson;
}



a vypadá to zatím takhle....



až vyřešim ovládání, tak tam začnu dávat svoje modely
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
KoudyDev



Založen: 19. 08. 2008
Příspěvky: 14
Bydliště: Hradec Králové

PříspěvekZaslal: 25. únor 2010, 20:00:39    Předmět: Odpovědět s citátem

Koukni do PlayerController.uc řádek 4384 ... řeší se tam ta rotace postavy. Osobně bych si vytvořil třídu "MyPlayerController" a výše zmíněnou funkci "UpdateRotation" bych přepsal ...

Jinak doporučuji používat program UnCodeX pomůže ti s hledáním a orientací ve skriptech.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna