Improvment on the keyboard multi keys

add the life above the avatar
master
JeanotP1314 2017-01-11 10:26:23 -08:00
parent 1af8eb5629
commit 738257161b
62 changed files with 11915 additions and 7961 deletions

View File

@ -1,587 +0,0 @@
# 3ds Max Wavefront OBJ Exporter v0.94b - (c)2007 guruware
# File Created: 12.09.2010 01:40:48
newmtl awning
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd awning.png
newmtl bark
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd bark.png
newmtl bridge
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd bridge.png
newmtl bush
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd bush.png
newmtl bushside
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd bushside.png
newmtl curtain
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd curtain.png
newmtl cut
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd cut.png
newmtl dead
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd dead.png
newmtl doodd
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd doodd.png
newmtl doodh
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd doodh.png
newmtl doods
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd doods.png
newmtl edge
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd edge.png
newmtl enter
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd enter.png
newmtl exit
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd exit.png
newmtl fade
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd fade.png
newmtl fence
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd fence.png
newmtl fencew
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd fencew.png
newmtl grass
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd grass.png
newmtl grassmix
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd grassmix.png
newmtl house
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd house.png
newmtl ladder
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd ladder.png
newmtl leaf
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd leaf.png
newmtl ledge
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd ledge.png
newmtl mido
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd mido.png
newmtl patch
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd patch.png
newmtl path
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd path.png
newmtl pathe
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd pathe.png
newmtl patht
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd patht.png
newmtl porch
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd porch.png
newmtl rail
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd rail.png
newmtl saria
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd saria.png
newmtl shop
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd shop.png
newmtl shroom
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd shroom.png
newmtl step
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd step.png
newmtl steptop
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd steptop.png
newmtl tower
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd tower.png
newmtl trees
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd trees.png
newmtl treetop
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd treetop.png
newmtl trunks
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd trunks.png
newmtl vine
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd vine.png
newmtl vineh
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd vineh.png
newmtl vinew
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd vinew.png
newmtl wall
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd wall.png
newmtl walls
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd walls.png
newmtl water
Ns 10.0830
Ni 1.5000
d 1.0000
Tr 1.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.0000 0.0000 0.0000
Kd 1.0000 1.0000 1.0000
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Kd water.png

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 481 B

After

Width:  |  Height:  |  Size: 481 B

View File

Before

Width:  |  Height:  |  Size: 978 B

After

Width:  |  Height:  |  Size: 978 B

View File

Before

Width:  |  Height:  |  Size: 876 B

After

Width:  |  Height:  |  Size: 876 B

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 902 B

After

Width:  |  Height:  |  Size: 902 B

View File

Before

Width:  |  Height:  |  Size: 1018 B

After

Width:  |  Height:  |  Size: 1018 B

View File

Before

Width:  |  Height:  |  Size: 543 B

After

Width:  |  Height:  |  Size: 543 B

View File

Before

Width:  |  Height:  |  Size: 233 B

After

Width:  |  Height:  |  Size: 233 B

View File

Before

Width:  |  Height:  |  Size: 158 B

After

Width:  |  Height:  |  Size: 158 B

View File

Before

Width:  |  Height:  |  Size: 467 B

After

Width:  |  Height:  |  Size: 467 B

View File

Before

Width:  |  Height:  |  Size: 674 B

After

Width:  |  Height:  |  Size: 674 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 145 B

After

Width:  |  Height:  |  Size: 145 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 922 B

After

Width:  |  Height:  |  Size: 922 B

View File

Before

Width:  |  Height:  |  Size: 815 B

After

Width:  |  Height:  |  Size: 815 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 744 B

After

Width:  |  Height:  |  Size: 744 B

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 358 B

View File

Before

Width:  |  Height:  |  Size: 420 B

After

Width:  |  Height:  |  Size: 420 B

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,486 @@
# Blender MTL File: 'None'
# Material Count: 44
newmtl awning
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd awning.png
newmtl bark
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd bark.png
newmtl bridge
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd bridge.png
newmtl bush
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd bush.png
newmtl bushside
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd bushside.png
newmtl curtain
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd curtain.png
newmtl cut
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd cut.png
newmtl dead
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd dead.png
newmtl doodd
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd doodd.png
newmtl doodh
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd doodh.png
newmtl doods
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd doods.png
newmtl edge
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd edge.png
newmtl enter
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd enter.png
newmtl exit
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd exit.png
newmtl fade
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd fade.png
newmtl fence
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd fence.png
newmtl fencew
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd fencew.png
newmtl grass
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd grass.png
newmtl house
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd house.png
newmtl ladder
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd ladder.png
newmtl leaf
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd leaf.png
newmtl ledge
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd ledge.png
newmtl mido
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd mido.png
newmtl patch
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd patch.png
newmtl path
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd path.png
newmtl pathe
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd pathe.png
newmtl patht
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd patht.png
newmtl porch
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd porch.png
newmtl rail
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd rail.png
newmtl saria
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd saria.png
newmtl shop
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd shop.png
newmtl shroom
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd shroom.png
newmtl step
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd step.png
newmtl steptop
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd steptop.png
newmtl tower
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd tower.png
newmtl trees
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd trees.png
newmtl treetop
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd treetop.png
newmtl trunks
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd trunks.png
newmtl vine
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd vine.png
newmtl vineh
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd vineh.png
newmtl vinew
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd vinew.png
newmtl wall
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd wall.png
newmtl walls
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd walls.png
newmtl water
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd water.png

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 988 B

After

Width:  |  Height:  |  Size: 988 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 779 B

After

Width:  |  Height:  |  Size: 779 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 B

View File

@ -0,0 +1,65 @@
# Blender MTL File: 'armL_sword.blend'
# Material Count: 6
newmtl blade
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd blade.png
newmtl gold
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl grip
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl hilt
Ns 9.803922
Ka 0.000000 0.000000 0.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
map_Kd hilt.png
newmtl jewel
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl lego
Ns 0.000000
Ka 0.200000 0.200000 0.200000
Kd 0.800000 0.800000 0.800000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd Tex_0102_0.png

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,13 @@
# Blender MTL File: 'toad.blend'
# Material Count: 1
newmtl Material02
Ns 0.000000
Ka 0.200000 0.200000 0.200000
Kd 0.800000 0.800000 0.800000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd Toad_grp.png

1073
Blender/toad/toad.obj 100644

File diff suppressed because it is too large Load Diff

BIN
Pictures/heart.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

View File

@ -17,7 +17,7 @@ from vrzero import engine
################ Select the mode here ########### ################ Select the mode here ###########
USE_SERIAL = True # try the app without a serial connection, keyboard still work USE_SERIAL = False # try the app without a serial connection, keyboard still work
USE_STEREO = False # Mode Stereoscopic USE_STEREO = False # Mode Stereoscopic
USE_TUNNEL = True # If mode stereo is on, use Tunnel effect USE_TUNNEL = True # If mode stereo is on, use Tunnel effect
@ -29,8 +29,8 @@ MAP = 'temple'
################ Select your Avatars here (you can manualy add more) ######### ################ Select your Avatars here (you can manualy add more) #########
AVATAR_1 = 'Link' AVATAR_1 = 'Link'
AVATAR_2 = 'Goomba' ENEMIS_2 = 'Goomba'
AVATAR_3 = 'Goku' AVATAR_3 = 'toad'
################ Show stat on terminal ############# ################ Show stat on terminal #############
SHOW_STAT = False # Show FPS stat (Calibrated for Raspberry Pi) SHOW_STAT = False # Show FPS stat (Calibrated for Raspberry Pi)
@ -77,6 +77,7 @@ elif AVATAR_1 == 'Cloud':
avatar = avatars.cloud() avatar = avatars.cloud()
elif AVATAR_1 == 'Lego': elif AVATAR_1 == 'Lego':
avatar = avatars.lego() avatar = avatars.lego()
avatarstereo = avatars.lego()
elif AVATAR_1 == 'Roshi': elif AVATAR_1 == 'Roshi':
avatar = avatars.roshi() avatar = avatars.roshi()
elif AVATAR_1 == 'Goku': elif AVATAR_1 == 'Goku':
@ -84,20 +85,23 @@ elif AVATAR_1 == 'Goku':
elif AVATAR_1 == 'Goomba': elif AVATAR_1 == 'Goomba':
avatar = avatars.goomba() avatar = avatars.goomba()
if AVATAR_2 == 'Link': if ENEMIS_2 == 'Link':
avatar2 = avatars.link() enemis = [avatars.link(), avatars.link(), avatars.link(), avatars.link()]
elif AVATAR_2 == 'Cloud': elif ENEMIS_2 == 'Cloud':
avatar2 = avatars.cloud() enemis = avatars.cloud()
elif AVATAR_2 == 'Lego': elif ENEMIS_2 == 'Lego':
avatar2 = avatars.lego() enemis = avatars.lego()
elif AVATAR_2 == 'Roshi': elif ENEMIS_2 == 'Roshi':
avatar2 = avatars.roshi() enemis = avatars.roshi()
elif AVATAR_2 == 'Goku': elif ENEMIS_2 == 'Goku':
avatar2 = avatars.goku() enemis = avatars.goku()
avatar2_3 = avatars.goombaD() enemisD = avatars.goombaD()
elif AVATAR_2 == 'Goomba': elif ENEMIS_2 == 'Goomba':
avatar2 = avatars.goomba() enemis = [avatars.goomba(), avatars.goomba(), avatars.goomba(), avatars.goomba()]
avatar2_3 = avatars.goombaD() enemisD = [avatars.goombaD(), avatars.goombaD(), avatars.goombaD(), avatars.goombaD()]
elif ENEMIS_2 == 'toad':
enemis = avatars.toad()
enemisD = avatars.goombaD()
if AVATAR_3 == 'Link': if AVATAR_3 == 'Link':
avatar3 = avatars.link() avatar3 = avatars.link()
@ -107,6 +111,9 @@ elif AVATAR_3 == 'Goomba':
elif AVATAR_3 == 'Goku': elif AVATAR_3 == 'Goku':
avatar3 = avatars.goku() avatar3 = avatars.goku()
avatar3_3 = avatars.goombaD() avatar3_3 = avatars.goombaD()
elif AVATAR_3 == 'toad':
avatar3 = avatars.toad()
avatar3_3 = avatars.goombaD()
if MAP == 'forest': if MAP == 'forest':
map1 = maps.forest() map1 = maps.forest()
@ -114,7 +121,18 @@ elif MAP == 'moon':
map1 = maps.moon() map1 = maps.moon()
elif MAP == 'temple': elif MAP == 'temple':
map1 = maps.templeoftime() map1 = maps.templeoftime()
elif MAP == 'kokiri':
map1 = maps.kokiri()
bulle = objects.object() bulle = objects.object()
TEXTURE = pi3d.Texture('../textures/Raspi256x256.png')
SHADER = pi3d.Shader('uv_flat')
#size = random.uniform(0.5, 2.5)
life = [pi3d.ImageSprite(texture=TEXTURE, shader=SHADER, w=1, h=1), pi3d.ImageSprite(texture=TEXTURE, shader=SHADER, w=1, h=1), pi3d.ImageSprite(texture=TEXTURE, shader=SHADER, w=1, h=1), pi3d.ImageSprite(texture=TEXTURE, shader=SHADER, w=1, h=1), pi3d.ImageSprite(texture=TEXTURE, shader=SHADER, w=1, h=1)]
life_pos = [-1.2, -0.6, 0, 0.6, 1.2]
#life.position(5, 5, 0)
#DISPLAY.add_sprites(life)
# variables # variables
synchro_serial=0 synchro_serial=0
@ -127,64 +145,84 @@ stereo_tilt = 0.0
stereo_roll = 0.0 stereo_roll = 0.0
# Other Avatar # Other Avatar
xm_av2 = 0.0 xm_enemis = [-20.0, 0.0, 20.0, 0.0]
zm_av2 = 80.0 zm_enemis = [80.0, 70.0, 60.0, 30.0]
xm_av3 = 0.0 xm_av3 = 0.0
zm_av3 = 100.0 zm_av3 = 100.0
flag_choc_av = 0 flag_choc_av = 0
flag_choc_av2 = 0 flag_choc_enemis = [0, 0, 0, 0]
flag_choc_av3 = 0 flag_choc_av3 = 0
mv_avatar2 = 0.0 mv_enemis = [1.0, 0.5, 6.0, 30.0]
mv_avatar2_diff = 0.0 mv_enemis_diff = [0.0, 0.0, 0.0, 0.0]
mv_avatar3 = 0.0 mv_avatar3 = 0.0
mv_avatar3_diff = 0.0 mv_avatar3_diff = 0.0
life_av = 5 life_av = 5
life_av2 = 2 life_enemis = [2, 2, 2, 2]
life_av3 = 2 life_av3 = 2
#============================================================================================================ #============================================================================================================
def update_position(): def update_position():
global xm_av2, zm_av2, xm_av3, zm_av3 global xm_enemis, zm_enemis, xm_av3, zm_av3
#print( xm, zm, map1.height(xm, zm)) #print( xm, zm, map1.height(xm, zm))
jump, cut = handler.actionRead() jump, cut, protect= handler.actionRead()
xm, zm, body_orientation, mv, mv_diff, flag_view = handler.position() xm, zm, body_orientation, mv, mv_diff, flag_view = handler.position()
#print(body_orientation)
if flag_view: if flag_view:
avatar.center.position(xm, map1.height(xm, zm) + 2*math.sin(jump/8), zm) avatar.center.position(xm, map1.height(xm, zm) + 2*math.sin(jump/8), zm)
avatar.center.rotateToY(body_orientation) avatar.center.rotateToY(body_orientation)
else: else:
avatarstereo.center.position(xm, map1.height(xm, zm) + 2*math.sin(jump/8), zm) avatarstereo.center.position(xm, map1.height(xm, zm) + 2*math.sin(jump/8), zm)
avatarstereo.center.rotateToY(body_orientation) avatarstereo.center.rotateToY(body_orientation)
for i in range(0,4):
enemis[i].center.position(xm_enemis[i], map1.height(xm_enemis[i], zm_enemis[i]), zm_enemis[i])
enemisD[i].center.position(xm_enemis[i], map1.height(xm_enemis[i], zm_enemis[i]), zm_enemis[i])
avatar2.center.position(xm_av2, map1.height(xm_av2, zm_av2), zm_av2) #enemis.center.position(xm_enemis[0], map1.height(xm_enemis[0], zm_enemis[0]), zm_enemis[0])
avatar2_3.center.position(xm_av2, map1.height(xm_av2, zm_av2), zm_av2) #enemisD.center.position(xm_enemis[0], map1.height(xm_enemis[0], zm_enemis[0]), zm_enemis[0])
avatar3.center.position(xm_av3, map1.height(xm_av3, zm_av3), zm_av3) avatar3.center.position(xm_av3, map1.height(xm_av3, zm_av3), zm_av3)
avatar3_3.center.position(xm_av3, map1.height(xm_av3, zm_av3), zm_av3) avatar3_3.center.position(xm_av3, map1.height(xm_av3, zm_av3), zm_av3)
bulle.myplane.position(xm, map1.height(xm, zm)+12, zm) bulle.myplane.position(xm, map1.height(xm, zm)+9, zm)
for i in range(0,5):
if flag_view:
life[i].position(xm+life_pos[i], map1.height(xm, zm)+8, zm)
else:
life[i].position(xm+life_pos[i], map1.height(xm, zm)+6, zm+2)
map1.update_pos(xm, zm) map1.update_pos(xm, zm)
def update_avatar(): def update_avatar():
global xm_av2, zm_av2, xm_av3, zm_av3, synchro_serial, mv_avatar2, mv_avatar3, flag_choc_av, flag_choc_av2, flag_choc_av3, life_av, life_av2, life_av3 global xm_enemis, zm_enemis, xm_av3, zm_av3, synchro_serial, mv_enemis, mv_avatar3, flag_choc_av, flag_choc_enemis, flag_choc_av3, life_av, life_enemis, life_av3
xm, zm, body_orientation, mv_run, mv_run_diff, flag_view = handler.position() xm, zm, body_orientation, mv_run, mv_run_diff, flag_view = handler.position()
jump, cut = handler.action_update() jump, cut, protect = handler.action_update()
# if we are moving
if mv_run_diff: if mv_run_diff:
avatar.run(mv_run, mv_run_diff) avatar.run(mv_run, mv_run_diff)
# if we are jumping
#if(flag_jump > 0):
# avatar.jump(flag_jump, xm, zm, body_orientation)
# flag_jump -=1
synchro_serial=10 synchro_serial=10
if cut >= 1: if cut >= 1:
avatar.cut(cut) avatar.cut(cut)
avatarstereo.cut(cut) avatarstereo.cut(cut)
if protect >= 1:
avatar.armR.rotateToZ(60) # half a move
avatar.armR.rotateToY(-70) # half a move
avatar.forarmR.rotateToZ(70) # half a move
avatarstereo.armR.rotateToZ(60) # half a move
avatarstereo.armR.rotateToY(-70) # half a move
avatarstereo.forarmR.rotateToZ(30) # half a move
else:
#avatar.armR.rotateToZ(0) # half a move
avatar.armR.rotateToY(0) # half a move
avatar.forarmR.rotateToZ(0) # half a move
#avatarstereo.armR.rotateToZ(0) # half a move
avatarstereo.armR.rotateToY(0) # half a move
avatarstereo.forarmR.rotateToZ(0) # half a move
if jump: if jump:
pass#jump -= 1 pass
# if we are standing # if we are standing
if(synchro_serial == 1): if(synchro_serial == 1):
@ -194,60 +232,58 @@ def update_avatar():
if (synchro_serial > 0): if (synchro_serial > 0):
synchro_serial -=1 synchro_serial -=1
mv_run_diff=0 mv_run_diff=0
xm_enemis_tmp = 0.0
for i in range(0,4):
if life_enemis[i] > 0:
mv_enemis[i] += 0.04
xm_enemis_tmp = xm_enemis[i] - (0.4*math.sin(mv_enemis[i]))
xm_enemis[i] = xm_enemis_tmp
enemis[i].run(mv_enemis[i]*3, 1)
if math.cos(mv_enemis[i]) <= math.cos(mv_enemis[i] - 0.02):
enemis[i].center.rotateToY(90)
else:
enemis[i].center.rotateToY(270)
if life_av2 > 0:
mv_avatar2 += 0.04
xm_av2_tmp = xm_av2 - (0.4*math.sin(mv_avatar2))
xm_av2 = xm_av2_tmp
#print(xm_av2)
avatar2.run(mv_avatar2*3, 1)
#avatar2_2.run(mv_avatar2)
if math.cos(mv_avatar2) <= math.cos(mv_avatar2 - 0.02):
avatar2.center.rotateToY(90)
#avatar2_2.center.rotateToY(90)
else:
avatar2.center.rotateToY(270)
#avatar2_2.center.rotateToY(270)
if life_av3 > 0: if life_av3 > 0:
mv_avatar3 += 0.04 mv_avatar3 += 0.04
zm_av3_tmp = zm_av3 - (0.4*math.sin(mv_avatar3)) zm_av3_tmp = zm_av3 - (0.4*math.sin(mv_avatar3))
zm_av3 = zm_av3_tmp zm_av3 = zm_av3_tmp
#print(xm_av2) avatar3.run(mv_avatar3*4, 1)
avatar3.run(mv_avatar3, 1)
if math.cos(mv_avatar3) <= math.cos(mv_avatar3 - 0.02): if math.cos(mv_avatar3) <= math.cos(mv_avatar3 - 0.02):
avatar3.center.rotateToY(0) avatar3.center.rotateToY(0)
else: else:
avatar3.center.rotateToY(180) avatar3.center.rotateToY(180)
#print(xm, zm, xm_av2, zm_av2)
if flag_choc_av: if flag_choc_av:
flag_choc_av -= 1 flag_choc_av -= 1
if flag_choc_av2:
flag_choc_av2 -= 1
if flag_choc_av3: if flag_choc_av3:
flag_choc_av3 -= 1 flag_choc_av3 -= 1
distance_choc_av = 5
distance_choc_av2 = 2
distance_choc_av3 = 2
if xm_av2 - distance_choc_av <= xm and xm <= xm_av2 + distance_choc_av and zm_av2 - distance_choc_av <= zm and zm <= zm_av2 + distance_choc_av: for i in range(0,4):
#bulle.myplane.draw() if flag_choc_enemis[i]:
flag_choc_enemis[i] -= 1
distance_choc_av = 5
distance_choc_enemis = 2
distance_choc_av3 = 2
if cut and not flag_choc_av2 and life_av2 > 0: if xm_enemis[i] - distance_choc_av <= xm and xm <= xm_enemis[i] + distance_choc_av and zm_enemis[i] - distance_choc_av <= zm and zm <= zm_enemis[i] + distance_choc_av:
life_av2 -= 1 #bulle.myplane.draw()
flag_choc_av2 = 19
if xm_av2 - distance_choc_av2 <= xm and xm <= xm_av2 + distance_choc_av2 and zm_av2 - distance_choc_av2 <= zm and zm <= zm_av2 + distance_choc_av2: if cut and not flag_choc_enemis[i] and life_enemis[i] > 0:
life_av -= 1 life_enemis[i] -= 1
flag_choc_av = 19 flag_choc_enemis[i] = 19
if xm_av2 - distance_choc_av2 <= xm and xm <= xm_av2:
handler.position_upd(-5,0) if xm_enemis[i] - distance_choc_enemis <= xm and xm <= xm_enemis[i] + distance_choc_enemis and zm_enemis[i] - distance_choc_enemis <= zm and zm <= zm_enemis[i] + distance_choc_enemis:
elif xm_av2 <= xm and xm <= xm_av2 + distance_choc_av2: life_av -= 1
handler.position_upd(5,0) flag_choc_av = 19
if zm_av2 - distance_choc_av2 <= zm and zm <= zm_av2: if xm_enemis[i] - distance_choc_enemis <= xm and xm <= xm_enemis[i]:
handler.position_upd(0,-5) handler.position_upd(-5,0)
elif zm_av2 <= zm and zm <= zm_av2 + distance_choc_av2: elif xm_enemis[i] <= xm and xm <= xm_enemis[i] + distance_choc_enemis:
handler.position_upd(0,5) handler.position_upd(5,0)
if zm_enemis[i] - distance_choc_enemis <= zm and zm <= zm_enemis[i]:
handler.position_upd(0,-5)
elif zm_enemis[i] <= zm and zm <= zm_enemis[i] + distance_choc_enemis:
handler.position_upd(0,5)
if xm_av3 - distance_choc_av <= xm and xm <= xm_av3 + distance_choc_av and zm_av3 - distance_choc_av <= zm and zm <= zm_av3 + distance_choc_av: if xm_av3 - distance_choc_av <= xm and xm <= xm_av3 + distance_choc_av and zm_av3 - distance_choc_av <= zm and zm <= zm_av3 + distance_choc_av:
#bulle.myplane.draw() #bulle.myplane.draw()
@ -268,11 +304,11 @@ def update_avatar():
handler.position_upd(0,-5) handler.position_upd(0,-5)
elif zm_av3 <= zm and zm <= zm_av3 + distance_choc_av3: elif zm_av3 <= zm and zm <= zm_av3 + distance_choc_av3:
handler.position_upd(0,5) handler.position_upd(0,5)
#print(life_av2+life_av3) #print(life_enemis[0]+life_av3)
def draw(): def draw():
global flag_choc_av, life_av,flag_choc_av2, life_av2,flag_choc_av3, life_av3 global flag_choc_av, life_av,flag_choc_enemis, life_enemis,flag_choc_av3, life_av3
#print(life_av) #print(flag_choc_av)
flag_view = handler.view() flag_view = handler.view()
if life_av > 0: if life_av > 0:
@ -285,12 +321,12 @@ def draw():
else: else:
pass pass
#avatar1_3.center.draw() #avatar1_3.center.draw()
for i in range(0,4):
if life_av2 > 0: if life_enemis[i] > 0:
if not (flag_choc_av2 % 2): if not (flag_choc_enemis[i] % 2):
avatar2.center.draw() enemis[i].center.draw()
else: else:
avatar2_3.center.draw() enemisD[i].center.draw()
if life_av3 > 0: if life_av3 > 0:
if not (flag_choc_av3 % 2): if not (flag_choc_av3 % 2):
@ -298,9 +334,12 @@ def draw():
else: else:
avatar3_3.center.draw() avatar3_3.center.draw()
if not (life_av2+life_av3): if not (life_av3):
bulle.myplane.draw() bulle.myplane.draw()
for i in range(0,life_av):
life[i].draw()
map1.draw() map1.draw()
@ -320,10 +359,10 @@ def camera_update():
CAMERA.move_camera([xm, map1.height(xm, zm)+12, zm+camera_distance], rot+stereo_rot, -tilt-stereo_tilt, -stereo_roll) CAMERA.move_camera([xm, map1.height(xm, zm)+12, zm+camera_distance], rot+stereo_rot, -tilt-stereo_tilt, -stereo_roll)
else: else:
rot = -body_orientation+180 rot = -body_orientation#+180
CAMERA.move_camera([xm, map1.height(xm, zm)+5, zm], rot + stereo_rot, -tilt - stereo_tilt, - stereo_roll) CAMERA.move_camera([xm, map1.height(xm, zm)+5, zm], rot + stereo_rot, -tilt-stereo_tilt, -stereo_roll)
stereo_rot = rot #stereo_rot = rot
stereo_tilt = tilt stereo_tilt = tilt
stereo_roll = roll stereo_roll = roll
@ -366,6 +405,7 @@ while DISPLAY.loop_running() and keep_running:
update_position() update_position()
update_avatar() update_avatar()
camera_update() camera_update()
handler.update()
#engine.stats() #engine.stats()

View File

@ -135,7 +135,7 @@ class lego(BaseAvatar):
self.armR = pi3d.Model(file_string="../Blender/lego/Emmet_armR.obj", cy=-0.55, cx=0.15, cz=-0) self.armR = pi3d.Model(file_string="../Blender/lego/Emmet_armR.obj", cy=-0.55, cx=0.15, cz=-0)
self.armR.set_shader(shader) self.armR.set_shader(shader)
self.armL = pi3d.Model(file_string="../Blender/lego/emmet_armL.obj", cy=-0.55, cx=-0.15, cz=-0) self.armL = pi3d.Model(file_string="../Blender/lego/emmet_armL_sword.obj", cy=-0.55, cx=-0.15, cz=-0)
self.armL.set_shader(shader) self.armL.set_shader(shader)
self.legL = pi3d.Model(file_string="../Blender/lego/Emmet_legL.obj", cy = -0.3) self.legL = pi3d.Model(file_string="../Blender/lego/Emmet_legL.obj", cy = -0.3)
@ -175,6 +175,12 @@ class lego(BaseAvatar):
self.head.rotateToY(0) self.head.rotateToY(0)
self.head.rotateToX(0) self.head.rotateToX(0)
def cut(self, position):
#self.armL.rotateToZ(300)
self.armL.rotateToX(300+90.0 * math.sin(position/4)) # half a move
#self.armL.rotateToY(0+70.0 * math.sin(position/4)) # half a move
class roshi(BaseAvatar): class roshi(BaseAvatar):
def __init__(self): def __init__(self):
@ -204,6 +210,22 @@ class goomba(BaseAvatar):
self.body.rotateToX(0) self.body.rotateToX(0)
self.body.rotateToZ(0) self.body.rotateToZ(0)
class toad(BaseAvatar):
def __init__(self):
super().__init__()
self.center = pi3d.Model(file_string="../Blender/toad/toad.obj")
shader = pi3d.Shader("uv_flat")
self.center.set_shader(shader)
#self.center.scale(0.1,0.1,0.1)
self.center.scale(0.03,0.03,0.03)
def run(self, position, diff):
self.center.rotateToX(12.0 * math.sin(position*2))
self.center.rotateToZ(12.0 * math.sin(position*3))
def stand(self):
self.body.rotateToX(0)
self.body.rotateToZ(0)
class goombaB(BaseAvatar): class goombaB(BaseAvatar):
def __init__(self): def __init__(self):

View File

@ -14,6 +14,8 @@ from serial_data import Serial_data
class handlers: class handlers:
def __init__(self): def __init__(self):
self.USE_SERIAL = False
self.rot = 0 self.rot = 0
self.tilt = 0 self.tilt = 0
@ -26,9 +28,11 @@ class handlers:
self.flag_jump = 0 self.flag_jump = 0
self.flag_cut = 0 self.flag_cut = 0
self.flag_protect = 0.0
self.ser = 0 self.ser = 0
self.cpt_view = 0 self.cpt_view = 0
self.flag_view = True self.flag_view = True
self.Euler_diff=0
#mykeys = pi3d.Keyboard(use_curses=True) #mykeys = pi3d.Keyboard(use_curses=True)
self.mykeys = pi3d.InputEvents(self.key_handler_func, self.mouse_handler_func, self.joystick_handler_func) self.mykeys = pi3d.InputEvents(self.key_handler_func, self.mouse_handler_func, self.joystick_handler_func)
self.keep_running = True self.keep_running = True
@ -41,6 +45,9 @@ class handlers:
self.x += x self.x += x
self.z += z self.z += z
def update(self):
self.mv_run_diff=0
def position(self): def position(self):
return(self.x, self.z, self.body_orientation, self.mv_run, self.mv_run_diff, self.flag_view) return(self.x, self.z, self.body_orientation, self.mv_run, self.mv_run_diff, self.flag_view)
@ -54,10 +61,10 @@ class handlers:
self.flag_cut-=1 self.flag_cut-=1
if self.flag_jump: if self.flag_jump:
self.flag_jump-=1 self.flag_jump-=1
return(jump, cut) return(jump, cut, self.flag_protect)
def actionRead(self): def actionRead(self):
return(self.flag_jump, self.flag_cut) return(self.flag_jump, self.flag_cut, self.flag_protect)
######### Fonctions ########## ######### Fonctions ##########
def roger_handler(self, sensor, Euler0, Euler1, Euler2): def roger_handler(self, sensor, Euler0, Euler1, Euler2):
@ -69,28 +76,30 @@ class handlers:
SIMPLE_MOVE = True SIMPLE_MOVE = True
if SIMPLE_MOVE: if SIMPLE_MOVE:
if sensor == 'A': if sensor == 'A':
if flag_cut < 4 and math.fabs(Euler1) + math.fabs(Euler2) >= Euler_diff + 0.3: if not self.flag_cut and math.fabs(Euler1) + math.fabs(Euler2) >= self.Euler_diff + 0.3:
flag_cut = 12 self.flag_cut = 12
#print(" E1 = ", Euler1, " E2 = ", Euler2) #print(" E1 = ", Euler1, " E2 = ", Euler2)
#print(math.fabs(Euler1) + math.fabs(Euler2)) #print(math.fabs(Euler1) + math.fabs(Euler2))
Euler_diff = math.fabs(Euler1) + math.fabs(Euler2) self.Euler_diff = math.fabs(Euler1) + math.fabs(Euler2)
elif sensor == 'C': elif sensor == 'D':
if flag_cut < 4 and math.fabs(Euler1) + math.fabs(Euler2) >= Euler_diff + 0.3: #print(math.fabs(Euler1) + math.fabs(Euler2))
flag_cut = 12 if math.fabs(Euler1) + math.fabs(Euler2) >= 0.7:
Euler_diff = math.fabs(Euler1) + math.fabs(Euler2) self.flag_protect = 1
else:
self.flag_protect = 0
#avatar.armR.rotateToZ(math.degrees(-Euler1)) #avatar.armR.rotateToZ(math.degrees(-Euler1))
#avatar.armR.rotateToX(math.degrees(-Euler2)) #avatar.armR.rotateToX(math.degrees(-Euler2))
#avatar.armR.rotateToY(math.degrees(-Euler0)) #avatar.armR.rotateToY(math.degrees(-Euler0))
#pos_forarmR = [-Euler0 - pos_armL[0], -Euler0 - pos_armL[1], -Euler0 - pos_armL[2]] #pos_forarmR = [-Euler0 - pos_armL[0], -Euler0 - pos_armL[1], -Euler0 - pos_armL[2]]
elif sensor == 'D': elif sensor == 'C':
avatar.head.rotateToZ(math.degrees(-Euler1)) avatar.head.rotateToZ(math.degrees(-Euler1))
avatar.head.rotateToX(math.degrees(-Euler2)) avatar.head.rotateToX(math.degrees(-Euler2))
avatar.head.rotateToY(math.degrees(-Euler0)) avatar.head.rotateToY(math.degrees(-Euler0))
else: else:
if sensor == 'A': if sensor == 'B':
avatar.armL.rotateToZ(math.degrees(-Euler1)) avatar.armL.rotateToZ(math.degrees(-Euler1))
avatar.armL.rotateToX(math.degrees(-Euler2)) avatar.armL.rotateToX(math.degrees(-Euler2))
avatar.armL.rotateToY(math.degrees(-Euler0)) avatar.armL.rotateToY(math.degrees(-Euler0))
@ -114,8 +123,9 @@ class handlers:
if sensor == 'J': if sensor == 'J':
#print("JOY {:03.2f} {:03.2f}".format(Euler0, Euler1)) #print("JOY {:03.2f} {:03.2f}".format(Euler0, Euler1))
#print(Euler2) #print(Euler2)
#print("ENTER EULER 2 ", Euler0, Euler1, Euler2)
if Euler2 == '0': if Euler2 == '0':
if Euler0 <= 128 and Euler1 <= 128: if Euler0 <= 128 and Euler1 <= 128:
self.body_orientation = 270 - Euler1 self.body_orientation = 270 - Euler1
elif Euler0 >= 128 and Euler1 <= 128: elif Euler0 >= 128 and Euler1 <= 128:
@ -168,6 +178,7 @@ class handlers:
def serial(self): def serial(self):
self.ser = Serial_data('ABCDEFJ', self.roger_handler) self.ser = Serial_data('ABCDEFJ', self.roger_handler)
self.ser.start() self.ser.start()
self.USE_SERIAL = True
def joystick_handler_func(self, sourceType, sourceIndex, x1, y1, z1, x2, y2, z2, hatx, haty): def joystick_handler_func(self, sourceType, sourceIndex, x1, y1, z1, x2, y2, z2, hatx, haty):
#print(x1, y1) #print(x1, y1)
@ -184,56 +195,76 @@ class handlers:
def key_handler_func(self, sourceType, sourceIndex, key, value): def key_handler_func(self, sourceType, sourceIndex, key, value):
#k = mykeys.read() # Read Keyboard inputs #k = mykeys.read() # Read Keyboard inputs
#print(key) #print(key)
if key >-1: orientation = 0
if key == pi3d.event.Event.key_to_code('KEY_W'):#119: #key z forward if self.mykeys.key_state("KEY_S"): #115: #kry s back
self.z+=1 self.z+= -1
self.mv_run += math.fabs(self.avatar_speed*1/2) self.mv_run += math.fabs(self.avatar_speed*1/2)
self.mv_run_diff = 1 self.mv_run_diff = 1
self.body_orientation = 180 orientation += 1
elif key == pi3d.event.Event.key_to_code('KEY_S'): #115: #kry s back #self.body_orientation = 0
self.z+= -1 if self.mykeys.key_state("KEY_A"): #97: #key a left
self.mv_run += math.fabs(self.avatar_speed*1/2) self.x+= -1
self.mv_run_diff = 1 self.mv_run += math.fabs(self.avatar_speed*1/2)
self.body_orientation = 0 self.mv_run_diff = 1
elif key == pi3d.event.Event.key_to_code('KEY_A'): #97: #key a left orientation += 2
self.x+= -1 #self.body_orientation = 90
self.mv_run += math.fabs(self.avatar_speed*1/2) if self.mykeys.key_state("KEY_W"): #pi3d.event.Event.key_to_code('KEY_W'):#119: #key z forward
self.mv_run_diff = 1 print("FRONT")
self.body_orientation = 90 self.z+=1
elif key == pi3d.event.Event.key_to_code('KEY_D'):#100: #key d right self.mv_run += math.fabs(self.avatar_speed*1/2)
self.x+=1 self.mv_run_diff = 1
self.mv_run += math.fabs(self.avatar_speed*1/2) orientation += 4
self.mv_run_diff = 1 #self.body_orientation = 180
self.body_orientation = 270 if self.mykeys.key_state("KEY_D"):#100: #key d right
elif key == pi3d.event.Event.key_to_code('KEY_C'): #99: #key c jump print(" RIGHT")
self.x+=1
self.mv_run += math.fabs(self.avatar_speed*1/2)
self.mv_run_diff = 1
orientation += 8
#self.body_orientation = 270
if self.mykeys.key_state("KEY_C"): #99: #key c jump
if not self.flag_jump: if not self.flag_jump:
self.flag_jump = 25 self.flag_jump = 25
elif key == pi3d.event.Event.key_to_code('KEY_V'): #118: #key w cut if self.mykeys.key_state("KEY_V"): #118: #key cut
self.flag_cut = 12 self.flag_cut = 12
#print("eee") if self.mykeys.key_state("KEY_O"): #111: #key o
elif key == pi3d.event.Event.key_to_code('KEY_O'): #111: #key o self.cpt_view += 1
view = self.flag_view if self.cpt_view == 2:
self.flag_view = not view view = self.flag_view
elif key == pi3d.event.Event.key_to_code('KEY_P'): #112: #key p picture self.flag_view = not view
pi3d.screenshot("forestWalk" + str(scshots) + ".jpg") self.cpt_view = 0
if self.mykeys.key_state("KEY_P"): #112: #key p picture
pi3d.screenshot("BeYourHero" + str(scshots) + ".jpg")
scshots += 1 scshots += 1
elif key == 10: #key RETURN if self.mykeys.key_state("KEY_ESC"): #Escape key to exit
mc = 0
elif key == pi3d.event.Event.key_to_code('KEY_ESC'): #Escape key to exit
print("***** EXIT *****") print("***** EXIT *****")
#os.system('xset r on') #os.system('xset r on')
self.keep_running = False self.keep_running = False
#mykeys.close() #self.mykeys.release()
#if USE_SERIAL: if self.USE_SERIAL:
self.ser.stop() self.ser.stop()
#mymouse.stop() #mymouse.stop()
#DISPLAY.destroy() #DISPLAY.destroy()
#DISPLAY.stop() #DISPLAY.stop()
elif key == ord('f'): if orientation == 1:
roll = 1.0 self.body_orientation = 0
elif orientation == 3:
self.body_orientation = 45
elif orientation == 2:
self.body_orientation = 90
elif orientation == 6:
self.body_orientation = 135
elif orientation == 4:
self.body_orientation = 180
elif orientation == 12:
self.body_orientation = 225
elif orientation == 8:
self.body_orientation = 270
elif orientation == 9:
self.body_orientation = 315
def read_exit(self): def read_exit(self):
return self.keep_running return self.keep_running

View File

@ -37,6 +37,35 @@ class templeoftime(object):
def update_pos(self, x, z): def update_pos(self, x, z):
self.building.position(px, py, pz) self.building.position(px, py, pz)
class kokiri(object):
def __init__(self):
flatsh = pi3d.Shader("uv_flat")
self.building = pi3d.Model(file_string="../Blender/Map/kokiri/untitled.obj", sx=0.2, sy=0.2, sz=0.2)
self.building.set_shader(flatsh)
def draw(self):
self.building.draw()
def height(self, x, z):
global px, py, pz
if pz + 12 < z and pz + z < 160:
if px + -23 < x and x < px + 23 and pz + 77 < z and z < pz + 120:
return 6.4
else:
return 3.2
elif px + -11 < x and x < px + 12 and pz + -1 <= z:
return 3.2
elif px + -7 < x and x < px + 7 and pz + -8 < z and z < pz + -1:
return 4
elif px + -8 < x and x < px + 8 and pz + -67 < z and z < pz + -53:
return 1.6
else:
return 0
def update_pos(self, x, z):
self.building.position(px, py, pz)
class forest(object): class forest(object):
def __init__(self): def __init__(self):

View File

@ -15,18 +15,18 @@ class object(object):
flatsh = pi3d.Shader("uv_flat") flatsh = pi3d.Shader("uv_flat")
font = pi3d.Pngfont("../fonts/GillSansMT.png", (255,80,0,255)) font = pi3d.Pngfont("../fonts/GillSansMT.png", (255,80,0,255))
self.mystring = pi3d.String(font=font, string="CONGRATULATION", size=0.8, x=0, y=-0.2, z=-0.5, is_3d=True, rx = 270) self.mystring = pi3d.String(font=font, string="CONGRATULATION", size=2, x=0, y=-0, z=-0.5, is_3d=True, rx = 0)
self.mystring2 = pi3d.String(font=font, string="YOU ARE A HERO !!!", size=0.8, x=0, y=-0.2, z=0.5, is_3d=True, rx = 270) #self.mystring2 = pi3d.String(font=font, string="YOU ARE A HERO !!!", size=0.8, x=0, y=-0.2, z=0.5, is_3d=True, rx = 270)
#mystring.translate(0.0, 0.0, 1) #mystring.translate(0.0, 0.0, 1)
self.mystring.scale(3, 3, 3) self.mystring.scale(3, 3, 3)
self.mystring.set_shader(flatsh) self.mystring.set_shader(flatsh)
self.mystring2.scale(3, 3, 3) #self.mystring2.scale(3, 3, 3)
self.mystring2.set_shader(flatsh) #self.mystring2.set_shader(flatsh)
#self.myplane = pi3d.Plane(w=7, h=2.5, name="plane") self.myplane = pi3d.Plane(w=6, h=2, name="plane")
self.myplane = pi3d.Cylinder(radius=3, height=0.1, name="plane", rx = 90) #self.myplane = pi3d.Cylinder(radius=3, height=0.1, name="plane", rx = 90)
#self.myplane.set_shader(flatsh) #self.myplane.set_shader(flatsh)
self.myplane.add_child(self.mystring) self.myplane.add_child(self.mystring)
self.myplane.add_child(self.mystring2) #self.myplane.add_child(self.mystring2)
""" """
self.myTriangle = pi3d.Triangle(sx=2, sy=2, sz=2, name="triangle", rz = 180) self.myTriangle = pi3d.Triangle(sx=2, sy=2, sz=2, name="triangle", rz = 180)
self.mycone = pi3d.Cone(radius=1, height=2, sides=24, name="Cone", rz=180) self.mycone = pi3d.Cone(radius=1, height=2, sides=24, name="Cone", rz=180)
@ -35,9 +35,9 @@ class object(object):
def Position(self, xm, ym, zm): def Position(self, xm, ym, zm):
self.mystring.position(-10, ym+2.5, 14.9) self.mystring.position(-10, ym+2.5, 14.9)
self.mystring2.position(-10, ym+1.5, 14.9) #self.mystring2.position(-10, ym+1.5, 14.9)
self.mycone.position(-10, ym+2, 15) self.mycone.position(-10, ym+2, 15)
self.myPlane.position(-10, ym+2, 15) self.myplane.position(-10, ym+2, 15)
def Draw(self): def Draw(self):
global shader_light, earth global shader_light, earth