Texte 3D qui ne s'attache pas à une entité

Généralités sur la programmation 3D
Avatar de l’utilisateur
falsam
Messages : 7323
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Texte 3D qui ne s'attache pas à une entité

Message par falsam »

Je n'utilisais pas les fonctionnalités de Text3D jusqu'à présent. J'ai donc regardé l'exemple livré avec Pure Basic et je l'ai reproduit. Mais voila ..... ça ne fonctionne pas. Impossible de l'attacher à une entité.

Un code épuré pour accompagné mon souci. J’espère que vous allez pouvoir m'aider. Merci.

Code : Tout sélectionner

Enumeration
  #Cube
  #Text
EndEnumeration

InitEngine3D()
InitKeyboard()
InitSprite()

window = OpenWindow(#PB_Any,0,0,1024,768,"Rotation d'un cube")
OpenWindowedScreen(WindowID(window),0,0,1024,768)

; Mesh
Cube_Mesh = CreateCube(#PB_Any, 2) 
Ground_Mesh = CreatePlane(#PB_Any, 20, 20, 3, 6, 6, 6)

; Materiel
Texture = CreateTexture(#PB_Any,512,512)
StartDrawing(TextureOutput(Texture))
Box(0,0,512,512,RGB(0, 0, 0))
Box(1,1,510,510,RGB(255, 216, 0))
StopDrawing()
Material = CreateMaterial(#PB_Any,TextureID(texture))

; Création du sol 
Ground = CreateEntity(#PB_Any, MeshID(Ground_Mesh), MaterialID(Material), 0, 0, 0)
EntityPhysicBody(Ground, #PB_Entity_StaticBody, 2, 0, 1)


;
; Un cube
CreateEntity(#Cube, MeshID(Cube_Mesh), MaterialID(Material), 0, 2, 0)


CreateText3D(#Text, "Hello world")
Text3DColor(#text, RGBA(255, 0, 0, 255))
Text3DAlignment(#Text, #PB_Text3D_HorizontallyCentered)
AttachEntityObject(#Cube, "", Text3DID(0))
MoveText3D(#Text, 0, 3, 0)

;
;Lumiere et ombre
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)

;
; Une camera 
Camera = CreateCamera(#PB_Any,0,0,100,100)

While #True
  
  Event = WindowEvent()
    
  If ExamineKeyboard()    
    If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
      Break
    EndIf  
    
    If KeyboardPushed(#PB_Key_Space)
    EndIf
    
  EndIf
    
  MoveCamera(Camera, 4, 4 , 15, #PB_Absolute)
  
  CameraLookAt(camera,0,0,0)
  
  ; Affiche le rendu de la scène
  ClearScreen(RGB(0, 0, 0))
  RenderWorld()
  FlipBuffers()
Wend
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Texte 3D qui ne s'attache pas à une entité

Message par comtois »

il faut ajouter

Code : Tout sélectionner

  Add3DArchive("Data/fonts", #PB_3DArchive_FileSystem)
  Parse3DScripts()

Remplace ça

Code : Tout sélectionner

AttachEntityObject(#Cube, "", Text3DID(0))
par ça

Code : Tout sélectionner

AttachEntityObject(#Cube, "", Text3DID(#Text))
et ça devrait fonctionner
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
falsam
Messages : 7323
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Texte 3D qui ne s'attache pas à une entité

Message par falsam »

Comtois le 3eme oeil quand tout va mal :) Merci à toi. Ça fonctionne.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
SPH
Messages : 4944
Inscription : mer. 09/nov./2005 9:53

Re: Texte 3D qui ne s'attache pas à une entité

Message par SPH »

Heureusement que Comtois est la. Qu'est ce qu'on ferait sans lui... :?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
SPH
Messages : 4944
Inscription : mer. 09/nov./2005 9:53

Re: Texte 3D qui ne s'attache pas à une entité

Message par SPH »

Apres verification, ca ne marche pas :

Code : Tout sélectionner

Enumeration
  #Cube
  #Text
EndEnumeration

InitEngine3D()
InitKeyboard()
InitSprite()
Add3DArchive("Data/fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()

window = OpenWindow(#PB_Any,0,0,1024,768,"Rotation d'un cube")
OpenWindowedScreen(WindowID(window),0,0,1024,768)

; Mesh
Cube_Mesh = CreateCube(#PB_Any, 2) 
Ground_Mesh = CreatePlane(#PB_Any, 20, 20, 3, 6, 6, 6)

; Materiel
Texture = CreateTexture(#PB_Any,512,512)
StartDrawing(TextureOutput(Texture))
Box(0,0,512,512,RGB(0, 0, 0))
Box(1,1,510,510,RGB(255, 216, 0))
StopDrawing()
Material = CreateMaterial(#PB_Any,TextureID(texture))

; Création du sol 
Ground = CreateEntity(#PB_Any, MeshID(Ground_Mesh), MaterialID(Material), 0, 0, 0)
EntityPhysicBody(Ground, #PB_Entity_StaticBody, 2, 0, 1)


;
; Un cube
CreateEntity(#Cube, MeshID(Cube_Mesh), MaterialID(Material), 0, 2, 0)


CreateText3D(#Text, "Hello world")
Text3DColor(#text, RGBA(255, 0, 0, 255))
Text3DAlignment(#Text, #PB_Text3D_HorizontallyCentered)
AttachEntityObject(#Cube, "", Text3DID(#Text))
MoveText3D(#Text, 0, 3, 0)

;
;Lumiere et ombre
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)

;
; Une camera 
Camera = CreateCamera(#PB_Any,0,0,100,100)

While #True
  
  Event = WindowEvent()
    
  If ExamineKeyboard()    
    If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
      Break
    EndIf  
    
    If KeyboardPushed(#PB_Key_Space)
    EndIf
    
  EndIf
    
  MoveCamera(Camera, 4, 4 , 15, #PB_Absolute)
  
  CameraLookAt(camera,0,0,0)
  
  ; Affiche le rendu de la scène
  ClearScreen(RGB(0, 0, 0))
  RenderWorld()
  FlipBuffers()
Wend

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
falsam
Messages : 7323
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Texte 3D qui ne s'attache pas à une entité

Message par falsam »

Copie le dossier \font des exemples 3D dans ton dossier Data
Les exemples 3D se trouvent dans le dossier d'installation de Pure Basic.
j'ai testé ton code. Il fonctionne très bien.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
SPH
Messages : 4944
Inscription : mer. 09/nov./2005 9:53

Re: Texte 3D qui ne s'attache pas à une entité

Message par SPH »

falsam a écrit :Copie le dossier \font des exemples 3D dans ton dossier Data
Les exemples 3D se trouvent dans le dossier d'installation de Pure Basic.
j'ai testé ton code. Il fonctionne très bien.
dans mon dossier Data qui viens de ou ?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
falsam
Messages : 7323
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Texte 3D qui ne s'attache pas à une entité

Message par falsam »

SPH a écrit :dans mon dossier Data qui viens de ou ?
Dans le dossier ou se trouve ton code affichant ce texte 3D, tu vas devoir créer un dossier que tu nommeras data et dans lequel tu copieras ton dossier font que tu récupères dans les exemples 3D du dossier d'installation de Pure Basic.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
SPH
Messages : 4944
Inscription : mer. 09/nov./2005 9:53

Re: Texte 3D qui ne s'attache pas à une entité

Message par SPH »

Ok ca marche :idea:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
raven
Messages : 222
Inscription : jeu. 06/janv./2005 15:45

Re: Texte 3D qui ne s'attache pas à une entité

Message par raven »

bonjour falsam,
c'a fonctionne aussi chez moi.
Pb5.24 Lts/5.31 Windows 7 64 nvidia 560 ti E8500 8g ram
Répondre