コード例 #1
0
    def generateChar(self, charType):
        self.charType = charType
        if charType == CIGlobals.Mickey or charType == CIGlobals.Minnie:
            self.loadModel('phase_3/models/char/' + charType.lower() + '-' + str(CIGlobals.ModelDetail(self.avatarType)) + '.bam')
            self.loadAnims({'neutral': 'phase_3/models/char/' + charType.lower() + '-wait.bam', 'walk': 'phase_3/models/char/' + charType.lower() + '-walk.bam', 
               'run': 'phase_3/models/char/' + charType.lower() + '-run.bam', 
               'left-start': 'phase_3.5/models/char/' + charType.lower() + '-left-start.bam', 
               'left': 'phase_3.5/models/char/' + charType.lower() + '-left.bam', 
               'right-start': 'phase_3.5/models/char/' + charType.lower() + '-right-start.bam', 
               'right': 'phase_3.5/models/char/' + charType.lower() + '-right.bam'})
            if charType == CIGlobals.Mickey:
                self.mickeyEye = self.controlJoint(None, 'modelRoot', 'joint_pupilR')
                self.mickeyEye.setY(0.025)
            for bundle in self.getPartBundleDict().values():
                bundle = bundle['modelRoot'].getBundle()
                earNull = bundle.findChild('sphere3')
                if not earNull:
                    earNull = bundle.findChild('*sphere3')
                earNull.clearNetTransforms()

            for bundle in self.getPartBundleDict().values():
                charNodepath = bundle['modelRoot'].partBundleNP
                bundle = bundle['modelRoot'].getBundle()
                earNull = bundle.findChild('sphere3')
                if not earNull:
                    earNull = bundle.findChild('*sphere3')
                ears = charNodepath.find('**/sphere3')
                if ears.isEmpty():
                    ears = charNodepath.find('**/*sphere3')
                ears.clearEffect(CharacterJointEffect.getClassType())
                earRoot = charNodepath.attachNewNode('earRoot')
                earPitch = earRoot.attachNewNode('earPitch')
                earPitch.setP(40.0)
                ears.reparentTo(earPitch)
                earNull.addNetTransform(earRoot.node())
                ears.clearMat()
                ears.node().setPreserveTransform(ModelNode.PTNone)
                ears.setP(-40.0)
                ears.flattenMedium()
                ears.setBillboardAxis()
                self.startBlink()

        else:
            if charType == CIGlobals.Pluto:
                self.loadModel('phase_6/models/char/pluto-1000.bam')
                self.loadAnims({'walk': 'phase_6/models/char/pluto-walk.bam', 'neutral': 'phase_6/models/char/pluto-neutral.bam', 
                   'sit': 'phase_6/models/char/pluto-sit.bam', 
                   'stand': 'phase_6/models/char/pluto-stand.bam'})
            else:
                if charType == CIGlobals.Goofy:
                    self.loadModel('phase_6/models/char/TT_G-1500.bam')
                    self.loadAnims({'neutral': 'phase_6/models/char/TT_GWait.bam', 'walk': 'phase_6/models/char/TT_GWalk.bam'})
                else:
                    raise StandardError('unknown char %s!' % charType)
        Avatar.Avatar.initShadow(self)
        return
コード例 #2
0
    def generateChar(self, charType):
        self.charType = charType
        if charType == CIGlobals.Mickey or charType == CIGlobals.Minnie:
            self.loadModel("phase_3/models/char/" + charType.lower() + "-" +
                           str(CIGlobals.ModelDetail(self.avatarType)) +
                           ".bam")
            self.loadAnims({
                "neutral":
                "phase_3/models/char/" + charType.lower() + "-wait.bam",
                "walk":
                "phase_3/models/char/" + charType.lower() + "-walk.bam",
                "run":
                "phase_3/models/char/" + charType.lower() + "-run.bam",
                "left-start":
                "phase_3.5/models/char/" + charType.lower() +
                "-left-start.bam",
                "left":
                "phase_3.5/models/char/" + charType.lower() + "-left.bam",
                "right-start":
                "phase_3.5/models/char/" + charType.lower() +
                "-right-start.bam",
                "right":
                "phase_3.5/models/char/" + charType.lower() + "-right.bam"
            })
            if charType == CIGlobals.Mickey:
                self.mickeyEye = self.controlJoint(None, "modelRoot",
                                                   "joint_pupilR")
                self.mickeyEye.setY(0.025)

            for bundle in self.getPartBundleDict().values():
                bundle = bundle['modelRoot'].getBundle()
                earNull = bundle.findChild('sphere3')
                if not earNull:
                    earNull = bundle.findChild('*sphere3')
                earNull.clearNetTransforms()

            for bundle in self.getPartBundleDict().values():
                charNodepath = bundle['modelRoot'].partBundleNP
                bundle = bundle['modelRoot'].getBundle()
                earNull = bundle.findChild('sphere3')
                if not earNull:
                    earNull = bundle.findChild('*sphere3')
                ears = charNodepath.find('**/sphere3')
                if ears.isEmpty():
                    ears = charNodepath.find('**/*sphere3')
                ears.clearEffect(CharacterJointEffect.getClassType())
                earRoot = charNodepath.attachNewNode('earRoot')
                earPitch = earRoot.attachNewNode('earPitch')
                earPitch.setP(40.0)
                ears.reparentTo(earPitch)
                earNull.addNetTransform(earRoot.node())
                ears.clearMat()
                ears.node().setPreserveTransform(ModelNode.PTNone)
                ears.setP(-40.0)
                ears.flattenMedium()
                ears.setBillboardAxis()

                self.startBlink()
        elif charType == CIGlobals.Pluto:
            self.loadModel("phase_6/models/char/pluto-1000.bam")
            self.loadAnims({
                "walk": "phase_6/models/char/pluto-walk.bam",
                "neutral": "phase_6/models/char/pluto-neutral.bam",
                "sit": "phase_6/models/char/pluto-sit.bam",
                "stand": "phase_6/models/char/pluto-stand.bam"
            })

        elif charType == CIGlobals.Goofy:
            self.loadModel("phase_6/models/char/TT_G-1500.bam")
            self.loadAnims({
                "neutral": "phase_6/models/char/TT_GWait.bam",
                "walk": "phase_6/models/char/TT_GWalk.bam"
            })
        else:
            raise StandardError("unknown char %s!" % (charType))
        #self.getGeomNode().setScale(1.25)
        Avatar.Avatar.initShadow(self)