Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

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

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • 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
    هل انت برمجته على السكريبت

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

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

    بارك الله فيك

    تعليق


    • #3
      طبعاً أخي الكريم تم عمله على الماكس سكريبت ,, لكن لست أنا من برمجته ,,
      إن شاء الله رح إتعلم الماكس سكريبت قريباً و أعملكم tools
      تذكر دائماً أن الله يراك
      تحياتي The Giant

      تعليق


      • #4
        3d total بطبق فى اسطوانتهم
        _______
        مدونة خاصة
        http://hassanpassion.blogspot.com/

        تعليق


        • #5
          هو من الـ 3D Palace وليس توتال!! لا أعلم إن كان موجود في الإثنين
          تذكر دائماً أن الله يراك
          تحياتي The Giant

          تعليق


          • #6
            جزاك الله خير

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

            تعليق


            • #7
              و إياك أخي الكريم , وبالفعل إنه رائع
              تذكر دائماً أن الله يراك
              تحياتي The Giant

              تعليق


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

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

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

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

                تعليق


                • #9
                  اعرف هذه الاداه منذ زمن الجدير بالذكر انها قويه جدا واستعملها Cris Rapson في دروسه .. أعتقد انها من برمجتة ايضا هذا الرجل مجنون اسطوانه مدتها 45 ساعه !!

                  تعليق


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

                    تعليق


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

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

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة the giant مشاهدة المشاركة
                        هو من الـ 3d palace وليس توتال!! لا أعلم إن كان موجود في الإثنين
                        فعلان عندك حق بس حصل اختلاط مع
                        _______
                        مدونة خاصة
                        http://hassanpassion.blogspot.com/

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة Riyad_3d مشاهدة المشاركة
                          The CRUX كادت ان تصيبي في احدى المرات بالجلطه عندما تابعت الدرس الاول حاولت الصمود الثاني تركت الماكس لمدة اسبوع ثم لم افتح تلك الاسطوانه مجدداً

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

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

                          تعليق


                          • #14
                            شوقتوني يا شباب
                            The Giant مشكووور على السكريبت
                            أما الأسطوانات التي تتحذتون عنها هل من أحد يمدني برابط
                            جزاكم الله ألف خير
                            أخوكم عبد اللطيف

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

                            تعليق


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

                              تعليق

                              يعمل...
                              X