Deze sectie stelt je in staat om alle bijdragen van dit lid te bekijken. Je kunt alleen de bijdragen zien waar je op dit moment toegang toe hebt.
Topics - PKHG
32
« Gepost op: 30 september 2014, 09:44:26 am »
Hi, ik zat(zit) met het probleem om ... te roteren rond een as in de ruimte .. ... naar ... ook bij de blenderartists vragen kwam onder meer DEZE link naar voren https://www.youtube.com/watch?v=eaSrOS2foL4&list=PLE211C8C41F1AFBAB&index=13MAAR er zijn dan van dezelfde maker ook fantastische videos over e.g. rigging te zien, heel erg mooi maar lekker ingewikkeld met drivers en action modifier en ... Daar krijgt men een kippenvel van, wat men alles nog niet onder de knie heeft
33
« Gepost op: 25 september 2014, 10:26:22 am »
Hmm ik heb ooit het knife met succes gebruikt ... vergeten hoe het werkt. De toelichting bij Blender werkt bij mij niet. Dus wat mis ik: Edit mode: K om het knife te zein LMB op een kant dan nog een keer (of meerdere keren LMB) en de violette 'cut-lijnen' zijn te zien. Maar wat ik ook probeer met b.v. Enter of ... alles verdwijnt zonder een nieuwe kant ?? Ik heb de Blender 2.72 experimental ... gebruikt ... Oh en in 2.71 werkt het wel .... het is dus misschien een bug? of nog iets anders?
34
« Gepost op: 16 augustus 2014, 09:17:18 am »
Hallo allemaal, Indien je met Python in Blender bezig bent dan loop je snel tegen fouten aan. Hoe kan men nu op 'moderne' manier debuggen/ontwikkelen? Hier een handleiding: Haal je deze zip: https://www.dropbox.com/s/ji66zkpajirt4zc/Dimitri_18aug2014.zipDie heb ik net naar Dimitri gestuurd, iemand in Griekenland, die Pharo met Blender koppelt (na ja ...) en ik heb wat hij daar doet op mijn manier met Python unittests en Blender uitgelegd. Zo nu voor jullie de vertaling van stappen om te zien hoe prachtig dat werken is!!! GEWOON EEN KEER UITPROBEREN! 1. pak de zip file uit naar */2.71/scipts/addons, aldaar zou een map Dimitri moeten ontstaan 2. Open (liefst 2.71 ) Blender of van uit een (dos) console of activeer de console van Blender: boven links op Windows klikken en de System console toggelen, want daar verschijnen succes en foutmeldingen. 3. Gebruik Scripting, links van Default (ook boven) en een klik! 4. Klik op Text en aldaar: Open the Textblock: en van de net aangemaakte map Dimitri (bij de addons) test_finally_face.py ophalen 5. Alt P (of rechter muis en run script of menu en runscript) 5.1 een succes melding en een fout, omdat Plane niet gevonden werd, de standard eerste object (mesh) is namelijk Cube, of niet soms? (in de console!!!) 5.2 voeg een Plane toe! en herhaal het script runnen, twee keer succes, omdat er (maar) twee tests geschreven zijn in ... 6. run de script gewoon meerdere keren en let op de wijzigende kleur van het Plane, de normale wordt namelijk omgedraaid! 7. DE class die dat doet, werkt alleen op geactiveerde faces, ga maar de plaatjes voorbeelden in Dimitri bekijken! 8. bekijk het source script en het test script in Dimitri 9. Heb je vragen stel ze hier gerust Succes en veel plezier (heb ik tenminste) Peter De zip is in mijn dropbox ... is die weg gebruik een PM naar mij.
35
« Gepost op: 14 augustus 2014, 12:29:18 pm »
38
« Gepost op: 17 juli 2014, 18:07:10 pm »
blender 2.47 works on a W8.1 64 bit laptop, a lot of things of how to use forgotton BUT an old script could be activated (Geodesic-domes original ;-) ).
39
« Gepost op: 05 juli 2014, 17:52:23 pm »
Weet nier meer waarom maar sinds kort heb ik het idee een Minion zelf aan te kleden en te animeren (nog nooit een Minion film bekeken, moet nog) Er zijn verschillende tutorials hoe men zo een Minion kan modelleren, en er is een waar blijkbaar een iemand die het kan te zien is, helaas denk ik in het Portugees. Alles verstaan zou vermoedelijk goed zijn, maar ja, die taal ... Maar hier een overzicht waar men zou kunnen moeten kijken: voor s_minion1.py gebruik ik A: http://vimeo.com/88715839 deel 1 13 min mond opening 14.39 wat voor de arm en hand zie 15.12 1706 loopcut naar links! 1800 extrude en groter naar links 1849 extrude rechts en weer klein 1959 duim ... aan manchet 2110 twee loopcuts fingers 2129 hand naar links schuiven 2150 fingers ook nog 2214 loopcut onder duim over de hand 2407 voorbereiding loop aflenken 2524 driehoek gemaakt .. Minion_base_01_geen_mods_yet.blend 2656 *base_02_*.blend 2900 lastige aanpassingen een beetje ... 32 fingers aanpassen mond onderste moest gerapareerd worden ... overgeslaan 4142 begin voeten 4250 E en I ... 43.. E en I en naar beneden ... 4345 E en naar beneden Dat levert dan op dit moment dit plaatje op: Dat gaat nog een beetje zo door en dan het vervolg tutorial komt er ook nog bij ... wil je vanaf hier meedoen, vraag het huidige mesh maar via PM aan ;-) EDIT: en de voeten met schoenen ...
40
« Gepost op: 01 juli 2014, 07:20:35 am »
Uit een oude game tutorial een mouse-look script, graag copyright respecteren! Werkt ook nog in 2.71 ############################################### # # Customizable FPS Script (v2.3) # by Riyuzakisan (9/29/2011) # Made in Blender 2.59.0, r39307 # # Contact: # riyuzakisan@gmail.com # # Released under the Creative Commons # Attribution 3.0 Unported License. # # If you use this code, please include # this information header. # ############################################### ''' =============================================== || || This script includes: || -Mouselook || -Simple player movement (optional) || -Location (static) movement || OR || -Dynamic movement || =============================================== || Instructions =============================================== || || 1. Add a Mouse: Movement sensor || (Doesn't need a specific name) || || 2. Add a Python controller and use this || script in the Script text line || || 3. Connect the Mouse sensor to the || python controller. || =============================================== || || To use as a Module: || 1. Name the script: <script name>.py || 2. Set the Python Controller to Module || 3. Type your script name into the module || like so: || <script name>.main || =============================================== || Mouselook Configuration =============================================== || || You can add the following properties to the || object using this mouselook script for additional || configuration options. || || "Property Name" Type Value || || "Adjust" Integer # || -Sensitivity of the mouse || -Recommended: 2-3 || || "Invert" Boolean True/False || -Invert the direction of the mouse movement || || "Cap" Integer True/False || -Set the angle limit of looking up/down || -Use a value of 0-180 || || "Enable" Boolean True/False || -Lets you Enable/Disable the mouselook script || -Useful for disabling mouselook on menu screens || || "Cursor" Boolean True/False || -Lets you Enable/Disable the mouse cursor || || "UseParent" Boolean True/False || -Set if you want the parent of your script object || to inherit the Left/Right rotation from the script || Note: || If you don't create this property, the parent || object (by default) will receive the Left/Right || rotation. This property is used to Disable that. || || "Layout" Integer 1-2 || -Use a value of 1 or 2 to set the keyboard layout || 1: WASD, Space, Left Shift, E Q (Right handed) || -Suitable for Right Handed users || 2: IJKL, Space, Right Shift, U O || -Suitable for Left Handed users || -If you put any other value, it will be set || to 1 by default (WASD layout) || =============================================== || Location Movement Configuration =============================================== || || This simple movement system gives your || camera basic movement control without || having to set up a player object. || || This is designed for non-parented cameras. || IT WILL NOT WORK if the camera is parented || to another object! || || Requirements: || -Keyboard Sensor : True Pulse[```] : All Keys || || Instructions: || 1. Connect a Keyboard sensor to the script controller || Enable True Pulse [```], and Enable All Keys || || || Property Parameters: || || "lMove" Boolean True/False || -Set this to True to use Location Movement || || "lSpeed" Float #.## || -Set the movement speed of the player || -Default: 0.05 || -Controls: W S A D / I K J L || || "lFly" Float #.## || -Set the fly speed of the player || -Default: 0.05 || -Controls: Q E / O U || =============================================== || Dynamic Movement Configuration =============================================== || || This feature gives you the option to set up || dynamic movement for your player. The movement || uses Linear Velocity. || || Requirements: || -Keyboard Sensor : True Pulse [```] : All Keys || -Script object must have a Dynamic parent object || -If you want to jump, add these sensors to the || PARENT object and connect them to the script || controller: || -Collision sensor || -Ray sensor || Note: Sensors do not need to be named and will || auto-configure themselves || || Instructions: || 1. Connect a Keyboard sensor to the Script controller || Enable True Pulse [```], and Enable All Keys || || Property Parameters: || || "dMove" Boolean True/False || -Set this to True to turn on Dynamic Movement || || "dSpeed" Integer # || -Set the movement speed of the player || -Default: 10 || -Controls: W S A D / I K J L || || "dJump" Integer # || -Set the jump speed of the player || -Default: 10 || -Controls: Space || -Requires: Collision and Ray sensors || || "dRange" Integer # || -Set the range for how close the player || must be to an object to jump (ray sensor) || -Default: 2 || || "dFly" Boolean True/False || -Set the option to jump and move without || having to make contact with the ground || || Crouching/Sneaking: || -Makes player move slower || -Controls: Left Shift / Right Shift || ===============================================
=============================================== || Thanks to =============================================== || || -Blender Artist contributors for support || with the Game Engine || || -Mouselook script from || tutorialsforblender3d.com || =============================================== '''
from bge import logic as l from bge import render as r from bge import events as e
def main(): c = l.getCurrentController() o = c.owner # Default settings Sensitivity = 0.0005 Invert = 1 Capped = False Enable = True Cursor = False Useparent = False Parent = None # get game window size size = windowSize() # get the mouse movement sensor mouse = getMouse(c, o) # define mouse movement move = mouseMove(c, o, size, mouse) # get optional configuration from object properties sensitivity = mouseSen(o, Sensitivity) invert = mouseInv(o, Invert) capped = mouseCap(o, move, invert, Capped) enable = mouseEnable(o, Enable) parent = getParent(c, o, Parent) useparent = useParent(c, o, Useparent, parent) # take action showCursor(o, Cursor) mouseUse(c, o, move, sensitivity, invert, capped, enable, parent, useparent) mouseCenter(c, size, mouse, enable) # keyboard location movement useLoc(c, o) # keyboard movement dynamicMovement(o) ############################################### def windowSize(): width = r.getWindowWidth() height = r.getWindowHeight() return (width, height)
###############################################
def getMouse(c, o): mouse = None for i in c.sensors: if str(i.__class__) == "<class 'SCA_MouseSensor'>": if i.mode == 9: mouse = i return mouse
############################################### def mouseMove(c, o, size, mouse): if mouse != None: width = size[0] height = size[1] x = width/2 - mouse.position[0] y = height/2 - mouse.position[1] if 'mousestart' not in o: o['mousestart'] = True x = 0 y = 0 if not mouse.positive: x = 0 y = 0 return (x, y) ############################################### def mouseSen(o, sen): if 'Adjust' in o: if o['Adjust'] < 0.0: o['Adjust'] = 0.0 sen = o['Adjust'] * sen return sen ############################################### def mouseInv(o, invert): if 'Invert' in o: if o['Invert'] == True: invert = -1 else: invert = 1 return invert
############################################### def mouseCap(o, move, invert, capped): if 'Cap' in o: import mathutils as m from math import pi if o['Cap'] > 180: o['Cap'] = 180 if o['Cap'] < 0: o['Cap'] = 0 camP = o.parent camO = o.localOrientation camZ = [camO[0][2], camO[1][2], camO[2][2]] pZ = [0.0, 0.0, 1.0] v1 = m.Vector(camZ) v2 = m.Vector(pZ) rads = m.Vector.angle(v2, v1) angle = rads * (180.00 / pi) capAngle = o['Cap'] moveY = move[1] * invert if (angle > (90 + capAngle/2) and moveY > 0) or (angle < (90 - capAngle/2) and moveY < 0) == True: capped = True return capped
###############################################
def mouseEnable(o, enable): if 'Enable' in o: if o['Enable'] == True: enable = True else: enable = False
return enable
############################################### def showCursor(o, cursor): notset = False if 'Cursor' in o: if o['Cursor'] == True: cursor = True else: cursor = False else: # This is in case the player doesn't want the mouselook script # overriding their own cursor visibility settings notset = True if notset == False: if cursor == True: r.showMouse(1) else: r.showMouse(0) ###############################################
def getParent(c, o, parent): # if there is no parent, it returns None # which is the default anyway parent = o.parent return parent
###############################################
def useParent(c, o, useparent, parent): # useparent = False if o has no parent # if there is a parent if parent != None: # if there is no useparent property if 'UseParent' not in o: useparent = True else: if o['UseParent'] == True: useparent = True else: useparent = False # if there is no parent if parent == None: useparent = False return useparent
# UseParent can only be set to True if there is a parent object # if a parent is present, it will be used unless you create and set UseParent to False ############################################### def mouseUse(c, o, move, sen, invert, capped, enabled, parent, useparent): if capped == True: vert = 0 else: vert = move[1] * sen * invert horz = move[0] * sen * invert # Apply rotation values if enabled == True: ori = o.localOrientation.to_euler() ori.x += vert if useparent == False: ori.z += horz else: ori2 = parent.localOrientation.to_euler() ori2.z += horz parent.localOrientation = ori2 o.localOrientation = ori ############################################### def mouseCenter(c, size, mouse, enabled): if mouse != None: width = size[0] height = size[1] pos = mouse.position if pos != [int(width/2), int(height/2)]: if enabled != False: r.setMousePosition(int(width/2), int(height/2)) ###############################################
# meant for non-parented cameras # lMove def useLoc(c, o): if 'lMove' in o and o['lMove'] == True and o.parent == None: key = l.keyboard.events
if 'lSpeed' in o: loc = o['lSpeed'] else: loc = 0.05 if 'lFly' in o: fly = o['lFly'] else: fly = 0.05 layout = 1 if 'Layout' in o: if o['Layout'] != 1 or o['Layout'] != 2: layout = 1 if o['Layout'] == 1: layout = 1 elif o['Layout'] == 2: layout = 2 if layout == 1: up = key[e.WKEY] == 2 down = key[e.SKEY] == 2 left = key[e.AKEY] == 2 right = key[e.DKEY] == 2 flyUp = key[e.QKEY] == 2 flyDown = key[e.EKEY] == 2 elif layout == 2: up = key[e.IKEY] == 2 down = key[e.KKEY] == 2 left = key[e.JKEY] == 2 right = key[e.LKEY] == 2 flyUp = key[e.OKEY] == 2 flyDown = key[e.UKEY] == 2 move = [0, 0, 0] fmove = [0, 0, 0] # Up if up: move[2] = -loc
# Down if down: move[2] = loc # Left if left: move[0] = -loc # Right if right: move[0] = loc # Fly up if flyUp: fmove[2] = fly # Fly down if flyDown: fmove[2] = -fly o.applyMovement(move, True) o.applyMovement(fmove, False) ###############################################
# dMove def dynamicMovement(own): if own.parent != None: if 'dMove' in own and own['dMove'] == True: o = own.parent k = l.keyboard.events layout = 1 fly = False if 'Layout' in own: if own['Layout'] != 1 or own['Layout'] != 2: layout = 1 if own['Layout'] == 1: layout = 1 elif own['Layout'] == 2: layout = 2 if 'dFly' in own: if own['dFly'] == True: fly = True else: fly = False if layout == 1: up = k[e.WKEY] == 2 down = k[e.SKEY] == 2 left = k[e.AKEY] == 2 right = k[e.DKEY] == 2 jump = k[e.SPACEKEY] == 2 crouch = k[e.LEFTSHIFTKEY] == 2 elif layout == 2: up = k[e.IKEY] == 2 down = k[e.KKEY] == 2 left = k[e.JKEY] == 2 right = k[e.LKEY] == 2 jump = k[e.SPACEKEY] == 2 crouch = k[e.RIGHTSHIFTKEY] == 2 col = None ray = None #"<class 'KX_TouchSensor'>" #"<class 'KX_RaySensor'>" for i in o.sensors: if str(i.__class__) == "<class 'KX_TouchSensor'>": col = i if str(i.__class__) == "<class 'KX_RaySensor'>": ray = i rray = False ccol = False if ray != None: ray.range = 2 if 'dRange' in own: ray.range = own['dRange'] ray.axis = 5 # 5 = -Z axis if ray.positive: rray = True if col != None: if col.positive: ccol = True speed = 10 jspeed = 0 jumpspeed = 10 limit = .75 if 'dSpeed' in own: speed = own['dSpeed'] if 'dJump' in own: jumpspeed = own['dJump'] if crouch and o['air'] == False: speed = speed/3 limit = .95 fspeed = speed * (up - down) sspeed = speed * (right - left) if fspeed and sspeed: fspeed *= 0.70710678 sspeed *= 0.70710678 if 'air' not in o: o['air'] = False if (o['air'] == True or not ccol) and fly == False: fspeed *= .005 sspeed *= .005 if jump and o['air'] == False and rray and not crouch: jspeed = jumpspeed o['air'] = True if jump and fly == True: jspeed = 1 elif ccol and not jump: o['air'] = False o.localLinearVelocity[0] += sspeed o.localLinearVelocity[1] += fspeed o.localLinearVelocity[2] += jspeed for i in o.localLinearVelocity: ind = list(o.localLinearVelocity).index(i) if ind != 2: if i > speed: i = speed if i < -speed: i = -speed o.localLinearVelocity[ind] = i if o['air'] == False: if not up and not down: o.localLinearVelocity[1] -= o.localLinearVelocity[1]*limit if not left and not right: o.localLinearVelocity[0] -= o.localLinearVelocity[0]*limit elif o['air'] == True and fly == False: for i in o.localLinearVelocity: ii = i*0.02 ind = list(o.localLinearVelocity).index(i) if ind != 2: o.localLinearVelocity[ind] += ii if fly == True and crouch == True: o.localLinearVelocity[2] = 0 ############################################### # If script is not set as a module, it will run this way main()
41
« Gepost op: 29 juni 2014, 17:15:05 pm »
Mijn Game_engine DVD tutorial (meerder uren) maar eens weer geactiveerd ... Eerste oefening was een trechter maken en een bal er in laten vallen .... etc. Het gaat toch allemaal nog niet zo als ik wil, dat betekent ik snap het een of ander (nog) niet ;-). Zie de wmv en de *.blend (link beneden). Zo de opdracht voor een helper: Maak een schotel (geschikt een cubus vervormen) extrude en met Ctrl 3 maar aanpassen Zo dan een klein balletje maken en een empty, die de bal in GE (Game Engine) in het schoteltje laat vallen. OK tot hier heb ik geen probleem. Nu de twee dingen die ik niet echt onder de knie heb! 1 Game Engine actief en dan onder Game: Record animation ... gebruiken (met proberen ... is het uiteindelijk gelukt een filmpje te maken) Kijk maar in de Blend, hoe klunsgelijk ik dat heb ... dit moet BETER kunnen. 2 Ook in de GE wil ik graag de trechter een beetje transparant hebben om te zien hoe het balletje er doorheen rolt. Werkte allen in de gewone render, waar het filmpje mee werd gemaakt... Ideen welkom http://pkhg.nl/blender/bal_schotel0071-0173.wmvhttp://pkhg.nl/blender/help_voor_schotel.blend
42
« Gepost op: 24 juni 2014, 17:46:04 pm »
Hi allemaal Heb net http://www.makehuman.org/herontdekt. Wie heeft zin om het nader te onderzoeken ... om er een leuk figuur mee te maken etc ... 't is echt een uitdaging: Dit is gewoon maar een klik en camera instellen:
43
« Gepost op: 23 juni 2014, 09:21:31 am »
Haal het addon van http://www.blenderartists.org/forum/showthread.php?323754-Addon-Edit-Addon-Sources-Operator't is een zip. Implementeren en in de addons maar naar edit zoeken het driehoekje klikken dan verschijnt een "preference" waar je het pad naar een exterene editor kunt invullen Ik heb al sinds de vorige eeuw een voorkeur voor emacs dus ik gebruik: D:\emacs\emacs-24.3\bin\runemacs.exe Werkt perfect! "Save User Settings" activeren NIET vergeten ...(??!!)
45
« Gepost op: 22 juni 2014, 12:48:14 pm »
|