Mais, avec l'aide de JR, Karen et Steve, notre informaticien adoré, nous avons pu arranger la vitesse de Gollum qui allait bien trop vite au début, et le maintenir au sol.
C'est aussi avec le code que nous avons pu modifier sa collision et faire en sorte qu'il puisse passer dans les couloirs.
Je post ici en premier les scripts que nous avions fait par nous-même, et que même Jocelyn ne comprenait pas pourquoi ils ne fonctionnaient pas :
LOTRGameInfo :
class LOTRGameInfo extends UTGame;
DefaultProperties
{
PlayerControllerClass=class'LOTRPlayerController'
DefaultPawnClass=class'LOTRPlayerPawn'
bDelayedStart=false
Name="LOTRGameInfo"
}
LOTRPlayerController :
class LOTRPlayerController extends UTPlayerController;
DefaultProperties
{
bBehindView=true
bForceBehindView=true
}
LOTRPlayerPawn :
class LOTRPlayerPawn extends UTPawn;
DefaultProperties
{
Begin Object class=SkeletalMeshComponent Name=SkeletalMeshComponent0
SkeletalMesh=SkeletalMesh'equipea_contrainte1_jr-gp.SkeletalMesh.SK_Gollum'
AnimSets(0)=AnimSet'equipea_contrainte1_jr-gp.AnimSet.Gollum_AnimSet'
AnimTreeTemplate=AnimTree'EquipeA_Contrainte1_jr-gp.AnimTree.Gollum_AnimTree'
PhysicsAsset=PhysicsAsset'equipea_contrainte1_jr-gp.SK_Gollum_Physics'
End Object
Mesh=SkeletalMeshComponent0
Components.Add(SkeletalMeshComponent0)
}
Puis, enfin, les scripts que Jocelyn nous a passé et que l'on a modifié pour les ajuster à notre jeu.
MyGame :
class MyGame extends UDKGame
config(MyGame);
DefaultProperties
{
PlayerControllerClass=class'MyGame.MyPlayerController'
DefaultPawnClass=class'MyGame.MyPawn'
// comment out the line below if you want to use UTGame character sounds
//bUseClassicHUD=true
//HUDType=class'MyGame.MyHUD'
}
MyPlayerController :
class MyPlayerController extends UTPlayerController;
//simulated function PostBeginPlay() {
//super.PostBeginPlay();
//SetCameraMode('ThirdPerson');
//}
//public function rSetCameraMode(name cameraSetting){
//SetCameraMode(cameraSetting);
//}
DefaultProperties
{
bBehindView=True
}
MyPawn :
class MyPawn extends UTPawn
config(MyGame);
//These are here in case you decide to extend from UDKPawn.uc instead of UTPawn.uc
//var float CameraZOffset;
//var float CameraScale, CurrentCameraScale;
var float CamOffsetDistance;
simulated function bool CalcCamera( float fDeltaTime, out vector out_CamLoc, out rotator out_CamRot, out float out_FOV )
{
super.CalcCamera(fDeltaTime, out_CamLoc, out_Camrot, out_FOV);
out_CamLoc.y += CamOffsetDistance;
return true;
}
DefaultProperties
{
Begin Object class=SkeletalMeshComponent Name=SkeletalMeshComponent0
//---------------------------------------------------------------
//Les lignes suivantes sont à modifier afin d'y mettre vos assets
SkeletalMesh=SkeletalMesh'equipea_contrainte1_jr-gp.SkeletalMesh.SK_Gollum'
AnimSets(0)=AnimSet'equipea_contrainte1_jr-gp.AnimSet.Gollum_AnimSet'
AnimTreeTemplate=AnimTree'EquipeA_Contrainte1_jr-gp.AnimTree.Gollum_AnimTree'
PhysicsAsset=PhysicsAsset'equipea_contrainte1_jr-gp.SK_Gollum_Physics'
//---------------------------------------------------------------
bEnableSoftBodySimulation=True
bSoftBodyAwakeonStartup=True
bAcceptsLights=True
bHasPhysicsAssetInstance=true
End Object
Begin Object Name=CollisionCylinder
CollisionRadius=+0007.000000
CollisionHeight=+0016.000000
End Object
GroundSpeed=44.0
Mesh=SkeletalMeshComponent0
Components.Add(SkeletalMeshComponent0)
DrawScale=0.9
//CameraZOffset=-80
CameraScale = 30
bPushesRigidBodies=true
//SoundGroupClass = class'MyGame.MyPawnSoundGroup'
}
Tout ça dans un dossier nommé Classes, lui-même dans un dossier nommé MyGame et LOTRGame.
(C:\UDK\UDK-2012-10\Development\Src\MyGame\Classes).
Puis, dans C:\UDK\UDK-2012-10\UDKGame\Config ouvrir le fichier .ini appelé DefaultEngine et rajouter 2 lignes de codes :
+EditPackages=LOTRGame
+EditPackages=MyGame
Ce qui donne :
[UnrealEd.EditorEngine]
+EditPackages=UTGame
+EditPackages=UTGameContent
+EditPackages=LOTRGame
+EditPackages=MyGame
Ceci permet à UDK de prendre en compte les scripts créés. Ne pas oublier de le refaire à chaque changement d'ordinateur...
DefaultEngine
Dernier truc pour que cela fonctionne : Lors de l'ouverture d'UDK, aller dans View / World Properties / Game Type / Default Game Type = mygame (qui est le nom relié aux scripts).
Mettre aussi dans Game Type For PIE = mygame.
World Properties
Aucun commentaire:
Enregistrer un commentaire