I have tried various methods, but there is only a small piece of shadow produced by the directional light source. What is going on? Here is my code and model files!
house_1.egg (2.2 MB) sphere.egg.pz (48.5 KB)
import direct.directbase.DirectStart
from panda3d.core import *
from direct.actor.Actor import Actor
try:
window = WindowProperties()
window.setTitle('COADE_HOUSE')
window.setSize(1200, 800)
base.win.requestProperties(window)
base.setBackgroundColor(0.4,0.6,0.7,0.5)
envir = loader.loadModel('house_1')
envir.reparentTo(render)
base.cam.setPos(0,-9000,2500)
base.cam.setHpr(0,-15,0)
sun = loader.loadModel('sphere')
sun.setColor((1, 1, 1, 1))
sun.setScale(100)
sun.setPos(-2510, -1000, 0)
sunLight = sun.attachNewNode(DirectionalLight("SUN"))
sunLight.setH(-60)
sunLight.node().setColor((1, 1, 1, 1))
sunLight.node().setShadowCaster(True)
sunLight.node().setScene(render)
sunLight.node().showFrustum()
render.setDepthOffset(1)
#sunLight.node().setFilmSize()
sunLight.node().getLens().setNearFar(10, 30)
render.setShaderAuto()
sunLightHelper = render.attachNewNode('change')
sunLightHelper.setPos(0, 0, 0)
sun.reparentTo(sunLightHelper)
sunLightHelper.hprInterval(10, (0, 0, 360)).loop()
envir.setLight(sunLight)
base.run()
except Exception as e:
print(e)
base.destroy()