Hello AppGameKit community,
I tried out this model:
https://3dpeople.com/en/shop/10016-myriam/
30K poly and the 2K textures and also the *.3DS file. The OBJs don't work quite right.
// Project: ThirdPersonController
// Created: 19-07-22
// show all errors
SetErrorMode(2)
// set window properties
SetWindowTitle("ThirdPersonController")
SetWindowSize(1280, 720, 0)
SetWindowAllowResize(1) // allow the user to resize the window
// set display properties
SetVirtualResolution(1280, 720) // doesn't have to match the window
SetOrientationAllowed(1, 0, 0, 0) // allow both portrait and landscape on mobile devices
SetSyncRate(60, 0) // 30fps instead of 60 to save battery
SetScissor(0, 0, 0, 0) // use the maximum available screen space, no black borders
UseNewDefaultFonts(1)
//CreateObjectCapsule
/*
>o0
O /
/|\ /
/ \ /
___/
*/
Global objID_camOverview
Global objID_cam3rdP
Global objID_LookAt
Global objID_rotationPlate
Function CreateEnvironment()
SetSkyBoxVisible(1)
SetSkyBoxHorizonColor(200,100,100)
//SetSkyBoxSkyColor(0,200,255)
SetGenerateMipmaps(1)
SetAntialiasMode(1)
SetShadowMappingMode(3)
SetShadowMapSize(2048,2048)
ImgID = CreateRenderImage(256,256,0,1)
SetRenderToImage(imgID,0)
DrawBox(0,0,1280,720,MakeColor(0,0,0),MakeColor(255,100,0),MakeColor(100,250,205),MakeColor(0,0,255),1)
Render()
/*
ImgID_H = CreateRenderImage(128,128,0,1)
SetRenderToImage(imgID_H,0)
DrawBox(0,0,1280,720,MakeColor(0,0,0),MakeColor(255,255,255),MakeColor(255,255,255),MakeColor(0,0,0),1)
Render()
*/
SetRenderToScreen()
SaveImage(imgID,"temp.bmp")
objID_mountain = CreateObjectFromHeightMap("temp.bmp",20,10,20,1,2)
SetObjectPosition(objID_mountain,-30,0,0)
SetObjectImage(objID_mountain,imgID,0)
objID_ground = CreateObjectBox(60,1,60)
SetObjectPosition(objID_ground,0,-0.5,0)
SetObjectImage(objID_ground,ImgID,0)
SetObjectReceiveShadow(objID_ground,1)
plID_first = 1
CreatePointLight(plID_first,-6,3,0,60,0,255,0)
objID_sph = CreateObjectSphere(1,6,6)
SetObjectColor(objID_sph,0,255,0,255)
SetObjectPosition(objID_sph,-6,3,0)
objID_player = CreateObjectCapsule(3,6,1)
SetObjectPosition(objID_player,0,3,0)
SetObjectCastShadow(objID_player,1)
objID_LookAt = CreateObjectBox(2,2,2)
SetObjectColor(objID_LookAt,255,128,0,255)
SetObjectPosition(objID_LookAt,-10,0,0)
objID_rotationPlate = CreateObjectCylinder(0.1,4,8)
SetObjectColor(objID_rotationPlate,255,255,0,255)
objID_camCone =CreateObjectCone(1,2,8)
SetObjectPosition(objID_camCone,0,0,0)
SetObjectRotation(objID_camCone,-90,0,0)
objID_cam3rdP =CreateObjectBox(0.5,0.5,0.5)
SetObjectPosition(objID_cam3rdP,13,14,0)
objID_camCapsule = CreateObjectCapsule(1,2,0)
SetObjectPosition(objID_camCapsule,14,14,0)
objID_crane = CreateObjectBox(20,0.2,0.2)
SetObjectPosition(objID_crane,10,0,0)
FixObjectPivot( objID_crane )
SetObjectRotation(objID_crane,0,0,45)
// Fixing the object, so the camera would follow the rotation-plate
FixObjectToObject(objID_camCone,objID_cam3rdP)
FixObjectToObject(objID_cam3rdP,objID_rotationPlate)
FixObjectToObject(objID_camCapsule,objID_rotationPlate)
FixObjectToObject(objID_crane ,objID_rotationPlate)
FixObjectToObject(objID_player ,objID_rotationPlate)
FixObjectToObject(objID_LookAt ,objID_rotationPlate)
SetObjectLookAt(objID_cam3rdP,GetObjectWorldX(objID_LookAt),GetObjectWorldY(objID_LookAt),GetObjectWorldZ(objID_LookAt),0)
objID_camOverview = CreateObjectBox(2,2,2)
SetObjectPosition(objID_camOverview,0,20,-70)
SetObjectLookAt(objID_camOverview,0,0,0,0)
EndFunction
CreateEnvironment()
camObjID = objID_camOverview
camObjID = objID_cam3rdP
Speed = 7
objID_Myriam = LoadObject("10016_w_Myriam_30k.3ds")
imgID_myr = LoadImage("10016_w_Myriam_Body_D_2k.jpg")
imgID_myrN = LoadImage("10016_w_Myriam_Body_N_2k.jpg")
SetObjectScalePermanent(objID_Myriam, 0.1,0.1,0.1)
SetObjectImage(objID_Myriam, imgID_myr ,0)
SetObjectImage(objID_Myriam, imgID_myrN ,1)
SetObjectCastShadow(objID_Myriam,1)
do
Print(Str(ScreenFPS(),2))
Print(" W, S : Movement, C: switch between cameras")
// Move3DPhysicsCharacterController
If GetRawKeyState(Asc("W")) or GetRawKeyState(38)
MoveObjectLocalZ(objID_rotationPlate, GetFrameTime()*Speed)
ElseIf GetRawKeyState(Asc("S")) or GetRawKeyState(40)
MoveObjectLocalZ(objID_rotationPlate,-GetFrameTime()*Speed)
EndIf
If GetRawKeyState(Asc("8")) //or GetRawKeyState(38)
MoveObjectLocalZ(objID_Myriam, GetFrameTime()*Speed)
ElseIf GetRawKeyState(Asc("2"))// or GetRawKeyState(40)
MoveObjectLocalZ(objID_Myriam,-GetFrameTime()*Speed)
EndIf
If GetRawKeyPressed(Asc("C"))
If camObjID = objID_camOverview
camObjID = objID_cam3rdP
Else
camObjID = objID_camOverview
EndIf
EndIf
SetCameraPosition(1,GetObjectWorldX(camObjID),GetObjectWorldY(camObjID),GetObjectWorldZ(camObjID))
SetCameraRotation(1,GetObjectWorldAngleX(camObjID),GetObjectWorldAngleY(camObjID),GetObjectWorldAngleZ(camObjID))
Sync()
loop
My question is here also, if the AppGameKit community would be interested in our own scans. With App Game Kit Studio and Vulkan, maybe this could be a think.
My idea is, to ask some people and scan them. In my city are more than one company that scans people. The question would be, if also the shaders would work and if only DIFFUSE and NORMAL map would be enough.
Also the question, if static people is a think or only rigged and animated people are needed. And also, how many games we would create with one and the same people-model
I don't know, if it could be a "game" on Steam or an App, that only shows 3D models, but also offers maybe to use them in your own games.
A big problem with scanned people could be the non-shining eyes and or the hair.
I am not an 3D artist. And I would hope, that the scanning company could provide game ready assets. I know, that this more a "3 Dimensional Chat"-thingly. I also would try to convert the models into *.X, *.FBX or *.3DS
But the question is for the App Game Kit users and game programmers. Not so much the technical side of things, but it would be nice, to have the right shader for human skin and lighting
I also tried out a model from here,
https://renderpeople.com/free-3d-people/
but the licence, I guess, would not allow to use the models in a game, only in static renderings or rendered animations. So if we wanted to create a game with these 3D models, we would have to create 2D images or videos out of that and implement them into our games
https://humanalloy.com/free-3d-people/
Also for game assets the question would be, if the people should have clothes on or some underwear, nothing and some created props, and which animations would be needed. I would like to see some more variety and not only these shooter guys with there rifles.
Maybe for bigger towns, simulation, or games for adults or teenager it could interesting, to have some other characters in a game. Like an old woman or not only sexy young adults with sporty bodies.
https://www.turbosquid.com/3d-models/free-max-mode-human-rig-female-gigapixel/847088#