موضوع: Placement Tool أداة رائعة لوضع التفاصيل

ردود: 20 | زيارات: 1040
  1. #1
    عضو نشيط
    صور رمزية The Giant
    تاريخ التسجيل
    Feb 2006
    المنطقة
    السعودية
    العمر
    25
    ردود
    800

    Thumbs up Placement Tool أداة رائعة لوضع التفاصيل

    بسم الله الرحمن الرحيم

    من طبق الـ CRUX set سيعرف هذه الأداة ,,
    الأداة أكثر من رائعة في وضع التفاصيل على المجسمات ,,
    بشكل خاص وضع البسامير مثلاً...

    سأترك شرح عمل الأداة مع شرح طريقة استعمالها ,, 2 في 1 ,, ليش عيد الكلام ؟

    بدايةً:-
    كود PHP:
    offsetY    20

    globalZero 
    Point3 0 0 0

    globalFirstHit 
    TRUE

    globalDistNode 
    #(undefined,undefined,undefined)
    globalDistNodeMirror #(undefined,undefined,undefined)

    globalHairCopy #(undefined,undefined,undefined)
    globalHairCopyMirror #(undefined,undefined,undefined)

    globalLastNode #(undefined,undefined,undefined)
    globalLastNodeMirror #(undefined,undefined,undefined)
    globalLastPos #(undefined,undefined,undefined)
    globalLastNormal #(undefined,undefined,undefined)
    globalLastPosMirror #(undefined,undefined,undefined)
    globalLastNormalMirror #(undefined,undefined,undefined)
    globalLastStr 1
    globalLastRadius 
    1

    globalUseDist 
    #(FALSE,FALSE,FALSE)

    globalHairPos #(globalZero,globalZero,globalZero )
    globalHairNormal #(globalZero,globalZero,globalZero)

    globalHairPosMirror #(globalZero,globalZero,globalZero )
    globalHairNormalMirror #(globalZero,globalZero,globalZero)
    globalAlignNormal 3
    globalAlignStroke 
    1

    globalScaleOption 
    1
    globalScaleNormal 
    TRUE
    globalScaleStroke 
    TRUE
    globalScaleStrength 
    TRUE
    globalScaleX 
    1.0
    globalScaleY 
    1.0
    globalScaleZ 
    1.0
    globalSourceNode 
    #()

    globalInstance FALSE

    matrix3 fn GetMatrix hairPos mousePos normal  str radius 
    =
    (
        
    tm matrix3 1 
        strNormal 
    1
        normalBase 
    1
        strengthBase 
    1
        strokeBase 
    1
        strStroke 
    1
        strStrength 
    1
        
        xvec 
    Point3 1 0 0
          yvec 
    Point3 0 1 0
        zvec 
    Point3 0 0 1
           mouseVec 
    Point3 1 0 0
       
           zvec 
    normalize normal 
       
        mouseVec 
    mousePos hairPos  

        mouseVec 
    normalize mouseVec
       
        xvec 
    cross mouseVec zvec 
        xvec 
    Normalize xvec
       
        yvec 
    cross  zvec xvec
        yvec 
    normalize yvec
                
        
    if (globalScaleOption == 1then
            
    (        
            )
        else if (
    globalScaleOption == 2then
            
    (
            
    str globalScaleX
            
    if (globalScaleY strthen str globalScaleY
            
    if (globalScaleZ strthen str globalScaleZ
            str 
    Length(mousePos hairPos)/str
            PaintHairRollout
    .chkScaleUserValue.value = (str 100)

            
    xvec xvec str
            yvec 
    yvec str
            zvec 
    zvec str
            
    )
        else if (
    globalScaleOption == 4then
            
    (
            
    str = (PaintHairRollout.chkScaleUserValue.value /100)

            
    xvec xvec str
            yvec 
    yvec str
            zvec 
    zvec str
            
    )
        else if (
    globalScaleOption == 3then
            
    (
            if (
    globalScaleNormalthen
                
    (
                
    strNormal str*thePainterInterface.normalScale
                
    if (globalAlignNormal == 1then
                    normalBase 
    globalScaleX
                
    else if (globalAlignNormal == 2then
                    normalBase 
    globalScaleY
                
    else if (globalAlignNormal == 3then
                    normalBase 
    globalScaleZ
                    
                strNormal 
    strNormal/normalBase
                zvec 
    zvec strNormal
                
    )
                        
            if (
    globalScaleStrokethen
                
    (
                
    strStroke Length(mousePos hairPos)
                if (
    globalAlignStroke == 1then
                    strokeBase 
    globalScaleX
                
    else if (globalAlignStroke == 2then
                    strokeBase 
    globalScaleY
                
    else if (globalAlignStroke == 3then
                    strokeBase 
    globalScaleZ
                
                strStroke 
    strStroke/strokeBase
                yvec 
    yvec strStroke
                
    )                
                        
            if (
    globalScaleStrengththen
                
    (
                
    strStrength radius
                
    if (globalAlignStroke == 1)then
                    
    (
                    if (
    globalAlignNormal == 2)then
                        strengthBase 
    globalScaleZ
                    
    else if (globalAlignNormal == 3)then
                        strengthBase 
    globalScaleY
                    
    )
                else if (
    globalAlignStroke == 2)then
                    
    (
                    if (
    globalAlignNormal == 1)then
                        strengthBase 
    globalScaleZ
                    
    else if (globalAlignNormal == 3)then
                        strengthBase 
    globalScaleX
                    
    )                
                if (
    globalAlignStroke == 3)then
                    
    (
                    if (
    globalAlignNormal == 1)then
                        strengthBase 
    globalScaleY
                    
    else if (globalAlignNormal == 2)then
                        strengthBase 
    globalScaleX
                    
    )                        
                
    strStrength strStrength/strengthBase
                xvec 
    xvec strStrength 
                
    )                        


            )

        if (
    globalAlignNormal == 1then
            
    (
            
    tm.row3 xvec
            
    if (globalAlignStroke == 2then
                
    (
                   
    tm.row1 yvec
                tm
    .row2 zvec                    
                
    )
            else
                ( 
                   
    tm.row1 zvec
                tm
    .row2 yvec                    
                
    )                
                    
            )
        else if (
    globalAlignNormal == 2then
            
    (
            
    tm.row3 yvec
            
    if (globalAlignStroke == 1then
                
    (
                   
    tm.row1 xvec
                tm
    .row2 zvec                    
                
    )
            else
                ( 
                   
    tm.row1 zvec
                tm
    .row2 xvec    
                
    )            
            )
        else 
            (
            
    tm.row3 zvec
            
    if (globalAlignStroke == 1then
                
    (
                   
    tm.row1 yvec
                tm
    .row2 xvec    
                
    )
            else
                ( 
                
    tm.row1 xvec
                tm
    .row2 yvec    
                
    )
            )
                    
        
    tm.row4 hairPos


        
    return tm
    )

    fn StartStroke 
    (
        
    globalFirstHit TRUE
        thePainterInterface
    .undoStart()
    )

    fn PlaceStroke 
    (

      
    localHit Point3 0 0 0
      localNormal 
    Point3 0 0 0
      worldHit 
    Point3 0 0 0
      worldNormal 
    Point3 0 0 0
      str 
    0.0f
      radius 
    0.0f
      
    if (globalFirstHit == TRUEthen
          
    (
        
    globalFirstHit FALSE    
        undo on
            
    (
            for 
    1 to 3 do
                (
                if (
    globalUseDist[i]) then
                    
    (
                    if (
    globalInstancethen globalHairCopy[i] = instance globalDistNode[i
                    else 
    globalHairCopy[i] = copy globalDistNode[i
                
                      
    thePainterInterface.getHitPointData &localHit &localNormal &worldHit &worldNormal &radius &str 0
        
                    globalHairPos
    [i] = worldHit
                    globalHairNormal
    [i] = worldNormal

                       
    if (thePainterInterface.mirrorEnable == TRUEthen
                        
    (
                        if (
    globalInstancethen globalHairCopyMirror[i] = instance globalDistNode[i]
                        else 
    globalHairCopyMirror[i] = copy globalDistNode[i]
                        
    thePainterInterface.getMirrorHitPointData &localHit &localNormal &worldHit &worldNormal 0
                        globalHairPosMirror
    [i]    = worldHit    
                        globalHairNormalMirror
    [i] = worldNormal
                        
    )    
                    )
                    
                )
            )
        
        )
        
     --
    retrieves the last hit point
      thePainterInterface
    .getHitPointData &localHit &localNormal &worldHit &worldNormal &radius &str 0
      
    --This gets whether the stroke point actually hit the mesh
    --Since the user can paint off the mesh 
    --Right now we ignore this and create a cylinder regardless if they are painting on the mesh or not        
       hit 
    thePainterInterface.getIsHit -1
         
      thePainterInterface
    .offMeshHitPos  globalHairPos[1]

      for 
    1 to 3 do
              (
            if (
    globalUseDist[i]) then
                
    (
                
                  
    globalScaleX abs (globalDistNode[i].max[1] - globalDistNode[i].pos[1])
                  
    globalScaleY abs (globalDistNode[i].max[2] - globalDistNode[i].pos[2])
                  
    globalScaleZ abs (globalDistNode[i].max[3] - globalDistNode[i].pos[3])

                  
    minScaleX abs (globalDistNode[i].min[1] - globalDistNode[i].pos[1])
                  
    minScaleY abs (globalDistNode[i].min[2] - globalDistNode[i].pos[2])
                  
    minScaleZ abs (globalDistNode[i].min[3] - globalDistNode[i].pos[3])
                
                if (
    minScaleX globalScaleXthen globalScaleX minScaleX
                
    if (minScaleY globalScaleYthen globalScaleY minScaleY
                
    if (minScaleZ globalScaleZthen globalScaleZ minScaleZ
                
                   tm 
    matrix3 1 
                
                   globalHairCopy
    [i].transform GetMatrix globalHairPos[iworldHit globalHairNormal[istr radius
                
    --checks if the mirror is on, if so make sure to get that point and proces it also   
                   
    if (thePainterInterface.mirrorEnable == TRUEthen
                    
    (
    -- 
    Put mirror stuff here
                    thePainterInterface
    .getMirrorHitPointData &localHit &localNormal &worldHit &worldNormal 0
                    globalHairCopyMirror
    [i].transform GetMatrix globalHairPosMirror[iworldHit globalHairNormalMirror[istr radius
                    
                    
    )    
                )
            )
        


    )

    fn PaintStroke 
    (


      
    localHit Point3 0 0 0
      localNormal 
    Point3 0 0 0
      worldHit 
    Point3 0 0 0
      mirrorWorldHit 
    Point3 0 0 0
      worldNormal 
    Point3 0 0 0
      str 
    0.0f
      radius 
    0.0f

      
    for 1 to 3 do
          (
        if (
    globalUseDist[i]) then
            
    (
            if (
    globalInstancethen globalHairCopy[i] = instance globalDistNode[i
            else 
    globalHairCopy[i] = copy globalDistNode[i
                
              
    thePainterInterface.getHitPointData &localHit &localNormal &worldHit &worldNormal &radius &str 0
        
            globalHairPos
    [i] = worldHit
            globalHairNormal
    [i] = worldNormal

               
    if (thePainterInterface.mirrorEnable == TRUEthen
                
    (
                if (
    globalInstancethen globalHairCopyMirror[i] = instance globalDistNode[i]
                else 
    globalHairCopyMirror[i] = copy globalDistNode[i]
                
    thePainterInterface.getMirrorHitPointData &localHit &localNormal &worldHit &worldNormal 0
                globalHairPosMirror
    [i]    = worldHit    
                globalHairNormalMirror
    [i] = worldNormal
                
    )    
            )
        )
        
     --
    retrieves the last hit point
      thePainterInterface
    .getHitPointData &localHit &localNormal &worldHit &worldNormal &radius &str 0
      
    --This gets whether the stroke point actually hit the mesh
    --Since the user can paint off the mesh 
    --Right now we ignore this and create a cylinder regardless if they are painting on the mesh or not        
       hit 
    thePainterInterface.getIsHit -1
         
      thePainterInterface
    .offMeshHitPos  globalHairPos[1]

      for 
    1 to 3 do
              (
            if (
    globalUseDist[i]) then
                
    (
                
                  
    globalScaleX abs (globalDistNode[i].max[1] - globalDistNode[i].pos[1])
                  
    globalScaleY abs (globalDistNode[i].max[2] - globalDistNode[i].pos[2])
                  
    globalScaleZ abs (globalDistNode[i].max[3] - globalDistNode[i].pos[3])

                  
    minScaleX abs (globalDistNode[i].min[1] - globalDistNode[i].pos[1])
                  
    minScaleY abs (globalDistNode[i].min[2] - globalDistNode[i].pos[2])
                  
    minScaleZ abs (globalDistNode[i].min[3] - globalDistNode[i].pos[3])
                
                if (
    minScaleX globalScaleXthen globalScaleX minScaleX
                
    if (minScaleY globalScaleYthen globalScaleY minScaleY
                
    if (minScaleZ globalScaleZthen globalScaleZ minScaleZ
                
                   tm 
    matrix3 1 
                
                projVec 
    =  Point3 0 0 1
                
    if (thePainterInterface.getHitCount() > 1then projVec worldHit + (worldHit globalLastPos[i])
                else 
    projVec worldHit
                
                   globalHairCopy
    [i].transform GetMatrix globalHairPos[iprojVec globalHairNormal[istr radius
                    
                
    --checks if the mirror is on, if so make sure to get that point and proces it also   
                   
    if (thePainterInterface.mirrorEnable == TRUEthen
                    
    (
    -- 
    Put mirror stuff here
                    thePainterInterface
    .getMirrorHitPointData &localHit &localNormal &mirrorWorldHit  &worldNormal 0

                    
    if (thePainterInterface.getHitCount() > 1then projVec mirrorWorldHit  + (mirrorWorldHit  globalLastPosMirror[i])
                    else 
    projVec mirrorWorldHit  
                    
                    globalHairCopyMirror
    [i].transform GetMatrix globalHairPosMirror[iprojVec globalHairNormalMirror[istr radius
                    
                    
    )    
                )
            )
        


       if (
    thePainterInterface.getHitCount() > 1then
               
    (
            for 
    1 to 3 do
                  (
                if (
    globalUseDist[i]) then
                    
    (
                    
    globalLastNode[i].transform GetMatrix globalLastPos[iworldHit globalLastNormal[iglobalLastStr globalLastRadius 

                    
                       
    if (thePainterInterface.mirrorEnable == TRUEthen
                        
    (                
                        
    globalLastNodeMirror[i].transform GetMatrix globalLastPosMirror[imirrorWorldHit globalLastNormalMirror[iglobalLastStr globalLastRadius 

                        
    )
                    )
                )
            
            )
            
      for 
    1 to 3 do
          (
        if (
    globalUseDist[i]) then
            
    (
            
    globalLastNode[i] = globalHairCopy[i]
            
    globalLastNodeMirror[i] = globalHairCopyMirror[i]
            
    globalLastPos[i] = globalHairPos[i]
            
    globalLastNormal[i] = globalHairNormal[i]
            
    globalLastPosMirror[i] = globalHairPosMirror[i]
            
    globalLastNormalMirror[i] = globalHairNormalMirror[i]
            
    globalLastStr str
            globalLastRadius 
    radius
            
    )
        )
        

    )

    fn CancelStroke 
    (
        
    thePainterInterface.undoCancel()
    )

    fn EndStroke 
    (
        
    thePainterInterface.undoAccept()
    )

    fn systemEnd =
    (
      
    PaintHairRollout.PaintButton.checked off 
      PaintHairRollout
    .PlaceButton.checked off 
    )





    rollout PaintHairRollout "Paremeters" width:211 height:300
        
    (
        

        
        
    Button SourceButton "Set Sel. As Source" pos:[86,10width:101 height:24
        label SourceObject 
    "Source Object" pos:[11,16width:72 height:15
        

        pickButton Dist1Button 
    "Pick Distribution 1" pos:[86,41width:101 height:24
        pickButton Dist2Button 
    "Pick Distribution 2" pos:[86,70width:101 height:24
        pickButton Dist3Button 
    "Pick Distribution 3" pos:[86,101width:101 height:24
        checkbox UseDist1 
    "Use As Dist" pos:[7,45width:76 height:15
        checkbox UseDist2 
    "Use As Dist" pos:[7,74width:76 height:15
        checkbox UseDist3 
    "Use As Dist" pos:[7,104width:76 height:15

        
        
        checkButton PlaceButton 
    "Place" pos:[7,135width:104 height:24
        checkButton PaintButton 
    "Paint" pos:[7,163width:104 height:24
        button Options 
    "..." pos:[113,135width:41 height:24


        checkbox UseInstance 
    "Instance Copies" pos:[7,193width:120 height:15

        
        
        
        label Align 
    "Align Objects " pos:[2,198+offsetYwidth:66 height:15
        label Align2 
    " Axis To Normal " pos:[108,198+offsetYwidth:92 height:15
        dropDownList AlignNormal 
    "" pos:[72,198+offsetYwidth:37 height:21 items:#("X", "Y", "Z") selection:3
        
        
    label Align3 "Align Objects " pos:[2,222+offsetYwidth:66 height:15
        label Align4 
    " Axis To Stroke " pos:[108,222+offsetYwidth:92 height:15
        dropDownList AlignStroke 
    "" pos:[72,222+offsetYwidth:37 height:21 items:#("X", "Y", "Z") selection:1

        
    label Align5 "Scale Options " pos:[2,246+offsetYwidth:66 height:15
        dropDownList ScaleOptions 
    "" pos:[72,246+offsetYwidth:100 height:21 items:#("None", "Uniform Scale", "Custom Scale", "User Scale") selection:1

        
    checkbox chkScaleNormal "Scale Based On Normal" pos:[28,272+offsetYwidth:145 height:22 checked:true
        checkbox chkScaleStroke 
    "Scale Based On Stroke" pos:[28,292+offsetYwidth:145 height:22 checked:true
        checkbox chkScaleStrength 
    "Scale Based On Strength" pos:[28,312+offsetYwidth:145 height:22 checked:true
        spinner chkScaleUserValue 
    "User Scale:" pos:[28,340+offsetYwidth:120 height:22 range:[0,10000,100scale0.10 
        
        on SourceButton pressed 
    do
            (
            
    globalSourceNode = $
            )
            
        
    on Dist1Button picked obj do
            (
            
    globalDistNode[1] = obj
            Dist1Button
    .text obj.name
            UseDist1
    .checked TRUE
            globalUseDist
    [1] = TRUE
            
    )
        
    on Dist2Button picked obj do
            (
            
    globalDistNode[2] = obj
            Dist2Button
    .text obj.name
            UseDist2
    .checked TRUE
            globalUseDist
    [2] = TRUE        
            
    )
        
    on Dist3Button picked obj do
            (
            
    globalDistNode[3] = obj
            Dist3Button
    .text obj.name
            UseDist3
    .checked TRUE
            globalUseDist
    [3] = TRUE        
            
    )
        
    on UseDist1 changed state do    
            
    globalUseDist[1] = state
        on UseDist2 changed state 
    do
            
    globalUseDist[2] = state
        on UseDist3 changed state 
    do
            
    globalUseDist[3] = state        
            
        on UseInstance  changed state 
    do
            
    globalInstance state        
            
        on PlaceButton changed state 
    do
            (
            if (
    PaintButton.checkedthen
                
    (
                
    PaintButton.checked FALSE
                thePainterInterface
    .EndPaintSession()
                )
            
            
            if 
    thePainterInterface.InPaintMode() then
                
    (
                
    PlaceButton.checked FALSE
                thePainterInterface
    .EndPaintSession()
                )
            else 
                (
                
    PaintButton.checked FALSE
                PlaceButton
    .checked TRUE
                
                thePainterInterface
    .initializeNodes 0 globalSourceNode     

                thePainterInterface
    .pointGatherEnable FALSE
                thePainterInterface
    .buildNormals TRUE
                thePainterInterface
    .offMeshHitType 2
                thePainterInterface
    .drawTrace FALSE

                thePainterInterface
    .ScriptFunctions startStroke placeStroke endStroke  cancelStroke  systemEnd

                thePainterInterface
    .startPaintSession()
            

                )
            )    


        
    on PaintButton changed state do
            (
            if (
    PlaceButton.checkedthen
                
    (
                
    PlaceButton.checked FALSE
                thePainterInterface
    .EndPaintSession()
                )
                
            if 
    thePainterInterface.InPaintMode() then
                
    (
                
    PaintButton.checked FALSE
                thePainterInterface
    .EndPaintSession()
                )
            else 
                (
                
    PaintButton.checked TRUE
                    
                thePainterInterface
    .initializeNodes 0 globalSourceNode     

                thePainterInterface
    .pointGatherEnable FALSE
                thePainterInterface
    .buildNormals TRUE
                thePainterInterface
    .offMeshHitType 2
                thePainterInterface
    .drawTrace FALSE

                thePainterInterface
    .ScriptFunctions startStroke paintStroke endStroke  cancelStroke  systemEnd

                thePainterInterface
    .startPaintSession()
            

                )
            )    

        
    On Options     pressed do
            (
            
    thePainterInterface.paintOptions()
            )
            
        
    on AlignNormal selected sel do
            (
            
    globalAlignNormal sel
            
    )
        
    on AlignStroke selected sel do
            (
            
    globalAlignStroke sel
            
    )    
            
        
    on ScaleOptions selected sel do
            (
            
    globalScaleOption  sel
            
    )    

        
    on chkScaleNormal changed state do    
            
    globalScaleNormal state        

        on chkScaleStrength changed state 
    do    
            
    globalScaleStrength state        

        on chkScaleStroke changed state 
    do    
            
    globalScaleStroke state        
            
        on PaintHairRollout  oktoclose 
    do 
            (
            
    thePainterInterface.endPaintSession()
            )        
        )
        

    -- 
    create the rollout window and add the  rollout
    if FloaterExampleFloater != undefined do
        (
        
    closerolloutfloater FloaterExampleFloater
        
    )        
    Floater newRolloutFloater "Placement tool" 220 425 
    addRollout PaintHairRollout Floater 
    انسخ الكود و ضعه في مفكرة ,,

    ثم طبعاً نفتح الماكس وتختار Run Script من قائمة MaxScript
    ثم تختار ملف المفكرة الذي حفظت فيه الكود

    ستظهر لك مباشرة شكل الأداة ,,


    عندما حملت الأداة كان مكتوباً في علامة التبويب Fair and hair tool!!! لكنني عدلت الكود ليصبح Placement tool

    إفرض أن لديك أي شكل تود أن تضع عليه التفاصيل ,,,


    قم بتصميم بسمار على السريع ,


    حدد القطعة التي تريد أن تزيد التفاصيل عليها ثم اختر Set as source من السكريبت


    ثم اضغط على pick distribution واختر البسمار وستلاحظ تغير اسم الزر إلى اسم العنصر وسيوضع علامة في المربع جانبه ,,


    لاحظ أنه هناك 3 خانات يمكنك أن تختار 3 أشكال , وعن توزيع التفاصيل ستوضع فوق بعضها ,, إن أردت أن تلغي أحدها مؤقتاً فما عليك سوا أن تلغي العلامة من جانبه

    والآن إلى الجزء الأكثر متعة كل ما عليك الآن أن تضغط على زر Place من الأداة.

    ثم تبدأ بتوزيع البسامير على المجسم ,, وستتم محاذاة العنصر مباشرة إلى المجسم دون تكلف
    لاحظ الصور





    باقي الخيارات غير مهمة على ما أظن
    من أراد أن يستفسر عن شيء أنا جاهز ,, وعذراً إن كان الشرح غير واضحه

    الملف في المرفقات <<< إذا كنت مكسل تنسخ وتلصق :P
    تذكر دائماً أن الله يراك
    تحياتي The Giant


  2. #2
    عضو متميز
    صور رمزية omarzonex
    تاريخ التسجيل
    Jan 2009
    المنطقة
    نبض قلبي- فلسطين
    ردود
    6,682
    هل انت برمجته على السكريبت

    ام انه جاهز من الخارج

    لأنه اوامره تدل على عملية برمجية بحته

    بارك الله فيك

  3. #3
    عضو نشيط
    صور رمزية The Giant
    تاريخ التسجيل
    Feb 2006
    المنطقة
    السعودية
    العمر
    25
    ردود
    800
    طبعاً أخي الكريم تم عمله على الماكس سكريبت ,, لكن لست أنا من برمجته ,,
    إن شاء الله رح إتعلم الماكس سكريبت قريباً و أعملكم tools
    تذكر دائماً أن الله يراك
    تحياتي The Giant

  4. #4
    عضو متميز
    صور رمزية bad guy
    تاريخ التسجيل
    Jan 2009
    ردود
    1,172
    3d total بطبق فى اسطوانتهم

  5. #5
    عضو نشيط
    صور رمزية The Giant
    تاريخ التسجيل
    Feb 2006
    المنطقة
    السعودية
    العمر
    25
    ردود
    800
    هو من الـ 3D Palace وليس توتال!! لا أعلم إن كان موجود في الإثنين
    تذكر دائماً أن الله يراك
    تحياتي The Giant

  6. #6
    عضو متميز
    صور رمزية محترف ماكس
    تاريخ التسجيل
    Oct 2008
    المنطقة
    فلسطين - غزة
    العمر
    27
    ردود
    1,085
    جزاك الله خير

    واضح انه سكربت رائع
    نجار جيد بيده مطرقة سيئة أفضل بكثير من نجار سيء معه أفضل مطرقة في العالم
    [-(جميع الحقوق ملطوشة)-]

  7. #7
    عضو نشيط
    صور رمزية The Giant
    تاريخ التسجيل
    Feb 2006
    المنطقة
    السعودية
    العمر
    25
    ردود
    800
    و إياك أخي الكريم , وبالفعل إنه رائع
    تذكر دائماً أن الله يراك
    تحياتي The Giant

  8. #8
    جزاك الله خير وفي ميزان حسناتك

    تحياتي للجميع

    أصغ لي فليس العلم الا بستة ........... سأنبيك عن تفصيلها ببيان

    ذكاءُ وحرص وأجتهادُ وبلغة ........... وإرشادُ أستاذٍ وطولُ زمان (الامام الشافعي- رحمة الله)

  9. #9
    رياض باوزير
    صور رمزية Riyad_3d
    تاريخ التسجيل
    May 2008
    ردود
    4,268
    اعرف هذه الاداه منذ زمن الجدير بالذكر انها قويه جدا واستعملها Cris Rapson في دروسه .. أعتقد انها من برمجتة ايضا هذا الرجل مجنون اسطوانه مدتها 45 ساعه !!

  10. #10
    عضو نشيط
    صور رمزية The Giant
    تاريخ التسجيل
    Feb 2006
    المنطقة
    السعودية
    العمر
    25
    ردود
    800
    بالبضط أخ رياض ,, إنه فعلاً مصروع!! و أشعر أنه مبدع وغير مبدع في نفس الوقت!!
    لن أحكي لكم قصة حياته تابعو دروسه الرائعة في 3d palce وستعلمون ما أقصد
    أنا حالياً أعمل على مجموعته The CRUX مجموعة متوحشة!!
    وبفضل الله أنهيت جزءاً كبيراً منها وسأعرض العمل بعد أن أنتهي منه ,, وسيكون هناك نصيب للأنيمشن بإذن الله
    تذكر دائماً أن الله يراك
    تحياتي The Giant

  11. #11
    رياض باوزير
    صور رمزية Riyad_3d
    تاريخ التسجيل
    May 2008
    ردود
    4,268
    اقتباس الموضوع الأصلي كتب بواسطة The Giant معاينة الرد
    بالبضط أخ رياض ,, إنه فعلاً مصروع!! و أشعر أنه مبدع وغير مبدع في نفس الوقت!!
    لن أحكي لكم قصة حياته تابعو دروسه الرائعة في 3d palce وستعلمون ما أقصد
    أنا حالياً أعمل على مجموعته The CRUX مجموعة متوحشة!!
    وبفضل الله أنهيت جزءاً كبيراً منها وسأعرض العمل بعد أن أنتهي منه ,, وسيكون هناك نصيب للأنيمشن بإذن الله
    The CRUX كادت ان تصيبي في احدى المرات بالجلطه عندما تابعت الدرس الاول حاولت الصمود الثاني تركت الماكس لمدة اسبوع ثم لم افتح تلك الاسطوانه مجدداً

    هل تعرف شيئا عن سيره حياته لان هذا الرجل غامض قليلا

  12. #12
    عضو متميز
    صور رمزية bad guy
    تاريخ التسجيل
    Jan 2009
    ردود
    1,172
    اقتباس الموضوع الأصلي كتب بواسطة the giant معاينة الرد
    هو من الـ 3d palace وليس توتال!! لا أعلم إن كان موجود في الإثنين
    فعلان عندك حق بس حصل اختلاط مع

  13. #13
    عضو نشيط
    صور رمزية The Giant
    تاريخ التسجيل
    Feb 2006
    المنطقة
    السعودية
    العمر
    25
    ردود
    800
    اقتباس الموضوع الأصلي كتب بواسطة Riyad_3d معاينة الرد
    The CRUX كادت ان تصيبي في احدى المرات بالجلطه عندما تابعت الدرس الاول حاولت الصمود الثاني تركت الماكس لمدة اسبوع ثم لم افتح تلك الاسطوانه مجدداً

    هل تعرف شيئا عن سيره حياته لان هذا الرجل غامض قليلا
    خليت راسي يكبر :P lol لأن نتيجتي ممتااازة جداً حتى الآن ,, و أنهيت حوالي 60% من الموديلنج
    والله شوقتني يا رياض إني أعرف شيء عن سيرة كريس ,, رح حاول أبحث

    فعلان عندك حق بس حصل اختلاط مع
    لاااا مشكلة ,, stay cool
    تذكر دائماً أن الله يراك
    تحياتي The Giant

  14. #14
    عضو نشيط
    صور رمزية Think-Max
    تاريخ التسجيل
    May 2009
    المنطقة
    مغربي
    ردود
    444
    شوقتوني يا شباب
    The Giant مشكووور على السكريبت
    أما الأسطوانات التي تتحذتون عنها هل من أحد يمدني برابط
    جزاكم الله ألف خير
    أخوكم عبد اللطيف

    ***
    -
    لا تنس ذكر الله -


  15. #15
    عضو نشيط
    صور رمزية The Giant
    تاريخ التسجيل
    Feb 2006
    المنطقة
    السعودية
    العمر
    25
    ردود
    800
    أهلاً وسهلاً ,, وعلى الرحب والسعة..
    أخي الكريم الإسطوانة متوفرة كثيراً على النت ,, وكما تعلم الروابط هنا ممنوعة
    اكتب 3d Palace The Crux rapidshare في الجوجل و إن شاء الله ستجد نتيجة ,,
    و أول صفة تؤهلك لتطبيق هذه الإسطوانة هي أن يكون نفسك طويلاً!!! فكما ترى 45 ساعة ليست أمراً سهلا!! و الإسطوانات بحجم 10 GB
    أما مؤهلاتك من الناحية الفنية فأنت أدرى بها
    أخر تعديل بواسطة The Giant في 01 / 10 / 2009 الساعة 06:01 AM
    تذكر دائماً أن الله يراك
    تحياتي The Giant

  16. #16
    عضو نشيط
    صور رمزية Think-Max
    تاريخ التسجيل
    May 2009
    المنطقة
    مغربي
    ردود
    444
    اقتباس الموضوع الأصلي كتب بواسطة the giant معاينة الرد
    أهلاً وسهلاً ,, وعلى الرحب والسعة..
    أخي الكريم الإسطوانة متوفرة كثيراً على النت ,, وكما تعلم الروابط هنا ممنوعة
    اكتب 3d palace the crux rapidshare في الجوجل و إن شاء الله ستجد نتيجة ,,
    و أول صفة تؤهلك لتطبيق هذه الإسطوانة هي أن يكون نفسك طويلاً!!! فكما ترة 45 ساعة ليست أمراً سهلا!! و الإسطوانات بحجم 10 gb
    أما مؤهلاتك من الناحية الفنية فأنت أدرى بها
    جزاك الله خيرا أخي الكريم
    أخوكم عبد اللطيف

    ***
    -
    لا تنس ذكر الله -


  17. #17
    انا صادفت المشكلة انو بعد ما نسخت للمفكرة وعملت رن سيكربت طلعلي ايرور شو القصة معلممم

  18. #18
    أبو عبد الله
    صور رمزية CG Artist
    تاريخ التسجيل
    Jul 2007
    المنطقة
    Gaza, Palestine
    العمر
    30
    ردود
    1,612
    انا صادفت المشكلة انو بعد ما نسخت للمفكرة وعملت رن سيكربت طلعلي ايرور شو القصة معلممم
    غير اسم المفركة الى Placement tool او قم بتحميل المفكرة من المرفقات !
    صبرا جميل والله المستعان



  19. #19
    رياض باوزير
    صور رمزية Riyad_3d
    تاريخ التسجيل
    May 2008
    ردود
    4,268
    خليت راسي يكبر :P lol لأن نتيجتي ممتااازة جداً حتى الآن ,, و أنهيت حوالي 60% من الموديلنج
    والله شوقتني يا رياض إني أعرف شيء عن سيرة كريس ,, رح حاول أبحث
    اخوي راجع هذا الرابط موضوعي قبل سنه عنه وعن اسطوناته ..
    http://www.maxforums.net/showthread.php?t=130121
    يوجد بالموضوع فيديو يعرض صورته للاسف الرجل مجهول جدا
    لكنه مثل مكينه تكرار معقده جدا عندما اشاهد دروسه اشعر انه مكينه :P
    بالمناسبه انت من وين جده ؟

  20. #20
    عضو نشيط
    صور رمزية The Giant
    تاريخ التسجيل
    Feb 2006
    المنطقة
    السعودية
    العمر
    25
    ردود
    800
    جزاك الله خيرا أخي الكريم
    و إياك
    انا صادفت المشكلة انو بعد ما نسخت للمفكرة وعملت رن سيكربت طلعلي ايرور شو القصة معلممم
    إعمل كما قال لك الأخ ... فإن لم تنجح فمن المؤكد أنك لم تنسخها جيداً أو أن الإصدار الذي تستعمله من صنع الفراعنة
    غير اسم المفركة الى placement tool او قم بتحميل المفكرة من المرفقات !
    شكراً لك على الإجابة عني ولم أنتبه إلى هذا بصراحة

    خوي راجع هذا الرابط موضوعي قبل سنه عنه وعن اسطوناته ..
    http://www.maxforums.net/showthread.php?t=130121
    يوجد بالموضوع فيديو يعرض صورته للاسف الرجل مجهول جدا
    لكنه مثل مكينه تكرار معقده جدا عندما اشاهد دروسه اشعر انه مكينه
    بالمناسبه انت من وين جده ؟
    فعلاً يكرر كثيراً ويضيع الكثير من الوقت في تحديد الأوجه والمضلعات ,,
    لماذا اخترت جدة!! ,, أنا من سور يا أساساً بس ساكن بالرياض
    تذكر دائماً أن الله يراك
    تحياتي The Giant

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل