-- Dragon and logo together: the solid tangram dragon perched on top of the Singe logotype, the pair -- turning as one under a sun with shadows, over the disc. local font = fontLoad("Singe/FreeSansBold.ttf", 28) local frames = 0 fontSelect(font) discPlay() sceneEnable(true) sceneSetBackground(0, 0, 0, 0) sceneSetAmbient(70, 70, 80) -- Both models rest on Y = 0 and are centred on X; the logo is 5 units tall at the top of the S. local group = nodeNew() nodeSetPosition(group, 0, -6, 0) nodeSetRotation(group, 0, -25, 0) local logo = modelInstance(modelLoad("testScripts/Models/SingeText.glb")) nodeSetParent(logo, group) local dragon = modelInstance(modelLoad("testScripts/Models/DragonModel.glb")) nodeSetParent(dragon, group) nodeSetPosition(dragon, 0, 4.85, 0) nodeSetScale(dragon, 0.9) local stone = materialNew() materialSetColor(stone, 120, 120, 130) materialSetRoughness(stone, 0.9) local floor = nodeNew() nodeSetMesh(floor, meshBox(18, 0.2, 12), stone) nodeSetPosition(floor, 0, -6.1, 0) local sun = lightNew(LIGHT_DIRECTIONAL) nodeSetPosition(sun, -5, 10, 7) nodeLookAt(sun, 0, 0, 0) lightSetIntensity(sun, 1.6) lightSetShadow(sun, true) local camera = nodeNew() nodeSetPosition(camera, 0, 3, 15.5) nodeLookAt(camera, 0, 0, 0) cameraSet(camera) function onOverlayUpdate() frames = frames + 1 nodeRotate(group, 0, 0.4, 0) overlayClear() fontPrint(20, 20, "Dragon on logo, frame " .. frames) if frames == 30 or frames == 100 or frames == 170 then singeScreenshot() end if frames == 180 then singeQuit() end end