﻿1
00:00:04,610 --> 00:00:05,450
‫أهلا ومرحبا.

2
00:00:05,450 --> 00:00:10,790
‫في هذه المحاضرة ، سنقوم بربط نظامنا الصحي بمخطط الرسوم المتحركة حتى

3
00:00:10,790 --> 00:00:13,730
‫أتمكن من تصوير هذه الشخصية حتى يموت.

4
00:00:13,730 --> 00:00:15,680
‫دعونا نتعمق ونرى كيف يعمل ذلك.

5
00:00:16,520 --> 00:00:22,820
‫لذلك نريد أن يتم تعيين هذا المنطقي في مخطط الرسوم المتحركة تلقائيًا من طريقة اللعب لدينا.

6
00:00:23,090 --> 00:00:29,300
‫وإذا انتقلنا إلى الرسم البياني للحدث وألقينا نظرة على كيفية عمل هذا حاليًا ، فهناك خصائص أخرى مثل

7
00:00:29,300 --> 00:00:34,460
‫هذه ، مثل الحصول على السرعة ، والنشاط ، والتحويل ، وسنذهب إلى البيدق ونقوم بوظيفة

8
00:00:34,460 --> 00:00:38,480
‫الحصول على في كل مرة نريد تحديث الرسوم المتحركة لدينا.

9
00:00:38,750 --> 00:00:43,970
‫لذا نريد أن نتابع في هذا النموذج حيث سنذهب ونعرف ما إذا كان لاعبنا

10
00:00:43,970 --> 00:00:45,180
‫قد مات أم لا.

11
00:00:45,200 --> 00:00:52,400
‫للقيام بذلك ، نحتاج إلى كشف بعض الوظائف ، بعض الوظائف القابلة للاستدعاء من C ++ الخاص بنا.

12
00:00:52,520 --> 00:00:57,140
‫لذلك دعنا ننتقل إلى C ++ ونلقي نظرة على ما هو موجود.

13
00:00:57,140 --> 00:01:02,540
‫لذلك يمكننا إنشاء وظيفة عامة ، لكن هذا لا يجعلها بالضرورة متاحة.

14
00:01:03,050 --> 00:01:10,040
‫للقيام بإمكانية الوصول ، نحتاج إلى وظيفة U التي تجعلها مرئية لنظام أداة الرأس المخطط وإلغاء

15
00:01:10,040 --> 00:01:11,030
‫التمرير.

16
00:01:11,030 --> 00:01:15,080
‫لكن علينا أن نتقدم خطوة أبعد من مجرد امتلاكها كوظيفة أنت.

17
00:01:15,080 --> 00:01:20,150
‫لذلك نبدأ بوظيفة الماكرو الخاصة بك ، لكننا نريد أن نجعلها قابلة للاستدعاء للمخطط.

18
00:01:20,150 --> 00:01:23,180
‫لذلك هذا هو الخيار الذي يمكننا استخدام مخطط قابل للاستدعاء.

19
00:01:23,990 --> 00:01:30,170
‫ومع ذلك ، هناك خيار آخر يتجاوز Blueprint أو بالأحرى يشير إلى أنه مخطط قابل

20
00:01:30,170 --> 00:01:32,460
‫للاستدعاء وهذا مخطط خالص.

21
00:01:32,480 --> 00:01:36,830
‫الآن سنرى الفرق بين blueprint pure و Blueprint call في ثانية واحدة فقط.

22
00:01:36,830 --> 00:01:43,430
‫لكن اعلم فقط أنه إذا كنت تستخدم Blueprint Pure ، فإنها تفعل نفس الشيء مثل Blueprint Callable ثم بعضها.

23
00:01:43,430 --> 00:01:45,650
‫لذلك فهي تفعل ما هو أكثر بقليل من Blueprint callable.

24
00:01:46,070 --> 00:01:50,660
‫ثم ما نريده هو دالة تقوم بإرجاع قيمة منطقية توضح ما إذا كانت هذه الشخصية

25
00:01:50,660 --> 00:01:51,410
‫ميتة أم لا.

26
00:01:52,290 --> 00:01:54,440
‫سيكون من المفيد لنا أن نعرف.

27
00:01:54,450 --> 00:01:58,740
‫وأخيرًا ، نريد أن تكون هذه وظيفة عضو في الحفلة الموسيقية.

28
00:01:58,770 --> 00:02:00,810
‫الآن ، لماذا تريد أن تكون حفلة موسيقية؟

29
00:02:00,810 --> 00:02:08,040
‫لأنه عندما نسمي هذه الوظيفة ، لا نتوقع أن تغير أي حالة من حالة مطلق النار لدينا إلى شخصية.

30
00:02:08,040 --> 00:02:12,030
‫لذلك يمكننا أن نقول بأمان أن هذه يجب أن تكون وظيفة حفلة موسيقية.

31
00:02:12,150 --> 00:02:19,800
‫وفي الواقع ، غالبًا ما تتلاقى الحفلة الموسيقية والمخطط الصافي معًا لأن المخطط الصافي يعني أنه إذا انتقلنا

32
00:02:19,800 --> 00:02:24,330
‫إلى أي مخطط ، فيمكننا إلقاء نظرة على بعض العقد الصرفة.

33
00:02:24,330 --> 00:02:26,130
‫هذا واحد هنا احصل على تحويل الفعل.

34
00:02:26,130 --> 00:02:27,030
‫هذه عقدة خالصة.

35
00:02:27,030 --> 00:02:30,720
‫الحصول على السرعة هي سرعة مجموعة العقدة النقية ليست عقدة خالصة.

36
00:02:30,720 --> 00:02:33,330
‫هل يمكنك أن ترى ما قد يربط هذه معًا؟

37
00:02:33,330 --> 00:02:37,380
‫ماذا عن هؤلاء يجعل هذا ليس طاهرًا وهذا طاهر؟

38
00:02:37,410 --> 00:02:40,800
‫حسنًا ، بشكل عام ، إنها حقيقة وجود دبوس تنفيذ.

39
00:02:40,800 --> 00:02:44,970
‫العقدة النقية هي تلك التي لا تحتوي على دبوس تنفيذ.

40
00:02:44,970 --> 00:02:51,330
‫وعادة ما يكون من الآمن القول أن شيئًا ما لا يحتوي على دبوس تنفيذ عندما لا يكون له أي تأثير

41
00:02:51,330 --> 00:02:54,210
‫على الشيء الذي يستدعيه فقط على نتائجه.

42
00:02:54,270 --> 00:03:00,330
‫بشكل أساسي ، هذا يعني أنه بغض النظر عن عدد المرات التي نطلق فيها على هذه الوظيفة ، فإنها ستخرج دائمًا

43
00:03:00,330 --> 00:03:01,620
‫نفس النتيجة.

44
00:03:01,620 --> 00:03:05,160
‫سيكون لها دائمًا نفس التأثير على البرنامج.

45
00:03:05,160 --> 00:03:06,720
‫إنها وظيفة خالصة.

46
00:03:06,720 --> 00:03:09,240
‫لا يغير أي شيء عندما يتم استدعاؤه.

47
00:03:09,240 --> 00:03:14,670
‫لذا فهو يشبه الثابت نوعًا ما ، على الرغم من أنه أقوى قليلاً لأن ما يقوله ليس

48
00:03:14,670 --> 00:03:20,250
‫فقط أنه لا يغير أي شيء هنا على شخصية مطلق النار ، ولكنه لا يغير أي شيء عالمي

49
00:03:20,250 --> 00:03:22,020
‫، أي حالة في أي مكان.

50
00:03:22,020 --> 00:03:22,890
‫نقطة.

51
00:03:22,890 --> 00:03:28,980
‫المدخل الوحيد ، التأثير الوحيد له هو في المخرجات التي ينتجها.

52
00:03:29,580 --> 00:03:32,340
‫لهذا السبب نختار جعل هذا المخطط نقيًا.

53
00:03:32,340 --> 00:03:37,170
‫إنه يزيل الحاجة إلى دبوس التنفيذ ، مما يجعله أجمل بكثير في المخطط.

54
00:03:37,170 --> 00:03:43,170
‫كما أنه يعبر فقط عن حقيقة أننا لا نجري أي تغييرات على حالة لعبتنا عندما نسمي

55
00:03:43,170 --> 00:03:44,340
‫هذه الوظيفة.

56
00:03:44,520 --> 00:03:48,660
‫لذلك دعونا نمضي قدمًا ونحاول إنشاء تطبيق لهذا.

57
00:03:48,660 --> 00:03:54,180
‫في الواقع ، سأترك التنفيذ متروك لكم باعتباره تحديًا ، وسوف ننتقل ونربط

58
00:03:54,180 --> 00:04:00,060
‫ذلك في رسم بياني متحرك ، آسف ، رسم بياني لحدث لمخطط الرسوم المتحركة.

59
00:04:00,210 --> 00:04:03,810
‫لذلك سنقوم بذلك من خلال الحصول على مجموعة جديدة هنا.

60
00:04:03,810 --> 00:04:12,720
‫نريد تعيين المتغير المنطقي الميت في النهاية ونريد الحصول على مالك البيدق ونريد أن نلقي به لأنه يجب

61
00:04:12,720 --> 00:04:18,660
‫أن يكون شخصية مطلق النار من أجل الحصول على هذه الخاصية الميتة.

62
00:04:18,660 --> 00:04:23,430
‫لذلك نريد أن نلقيها في هذه الحالة ، وفي هذه الحالة أريد أن ألقيها بأحرف مطلق النار

63
00:04:23,430 --> 00:04:28,260
‫C ++ لأنني لست بحاجة إلى الذهاب إلى أسفل لأقول إنها بالتأكيد نسخة مخطط من هذا لأن

64
00:04:28,530 --> 00:04:31,650
‫هذه الوظيفة الجديدة موجودة بالفعل في مستوى C ++.

65
00:04:31,650 --> 00:04:33,510
‫لذلك سنمضي قدمًا ونقوم بالإلقاء.

66
00:04:33,510 --> 00:04:36,930
‫إذا نجحنا في التمثيل ، فسنقوم بإعداد الخاصية الميتة.

67
00:04:37,110 --> 00:04:42,690
‫واسمحوا لي فقط بوضع بعض عقد إعادة التوجيه هنا لجعل مخططنا أجمل قليلاً على

68
00:04:42,690 --> 00:04:43,650
‫هذا النحو.

69
00:04:44,070 --> 00:04:47,610
‫وبعد ذلك ما نريد القيام به هو استخدام مرجع شخصية مطلق النار هذا.

70
00:04:47,610 --> 00:04:52,980
‫الآن بعد أن قمنا بطرحها على شخصية مطلق النار ، نعلم أنه يجب أن تحتوي على هذه الخاصية الميتة.

71
00:04:52,980 --> 00:04:54,900
‫لذلك يجب أن نكون قادرين على القيام بذلك.

72
00:04:55,080 --> 00:05:00,180
‫بمجرد تجميعها وتشغيلها ، يمكنك الحصول على هذه الخاصية الميتة وتعيينها هنا.

73
00:05:01,080 --> 00:05:04,860
‫هذا وقت التحدي الخاص بك لحساب ما إذا كنا ميتين أم لا.

74
00:05:04,860 --> 00:05:08,220
‫لذا أعد القيمة المنطقية الصحيحة من دالة ميتة.

75
00:05:08,220 --> 00:05:09,180
‫هذه هي الخطوة الأولى.

76
00:05:09,180 --> 00:05:15,750
‫قد ترغب في استخدام بعض التفاوتات مع متغير الصحة الخاص بنا لذلك ثم ربط المتغير.

77
00:05:15,750 --> 00:05:20,310
‫الميت هو متغير ميت في مخطط الرسوم المتحركة الذي لم نتمكن من القيام بذلك.

78
00:05:20,310 --> 00:05:23,490
‫لقد احتجنا فقط إلى أننا كنا في الأساس مجرد مجموعة بعيدة عن إنجاز ذلك.

79
00:05:23,490 --> 00:05:26,280
‫أوقف الفيديو مؤقتًا وقم بفرز ذلك.

80
00:05:27,520 --> 00:05:27,790
‫تمام.

81
00:05:27,790 --> 00:05:28,340
‫مرحبًا بعودتك.

82
00:05:28,360 --> 00:05:31,840
‫لذا دعنا ننتقل إلى الكود ، أولاً وقبل كل شيء.

83
00:05:31,840 --> 00:05:36,730
‫لذلك ، هذا واضح إلى حد ما ، سأقوم بإرجاع تعبير يعيد قيمة منطقية.

84
00:05:36,730 --> 00:05:43,450
‫لذا نريد أن نقول ، هل الصحة أقل من أو تساوي الصفر ، وفي هذه الحالة نحن أموات بالفعل؟

85
00:05:43,510 --> 00:05:47,710
‫هذا بسيط بقدر ما يمكن أن يحصل عليه تعبير دالة.

86
00:05:47,710 --> 00:05:49,990
‫لذلك دعونا نمضي قدمًا ونبني ذلك.

87
00:05:50,680 --> 00:05:55,600
‫وبمجرد أن يتم تجميع ذلك ، يمكننا الانتقال إلى Unreal وربطه.

88
00:05:55,600 --> 00:06:02,020
‫لذا فإن سحب الشخص من مطلق النار إلى شخصية ، نحن عقدة سنحصل على مرجع لشخصية مطلق النار هنا

89
00:06:02,020 --> 00:06:08,470
‫، لذلك نريد أن نفعل ميتًا يعطينا هذه وظيفة ميتة يمكنك رؤيتها لا تحتوي على دبوس تنفيذ لأنها

90
00:06:08,470 --> 00:06:09,550
‫نقية.

91
00:06:09,580 --> 00:06:15,010
‫ثم نأخذ هذا المنطقي من ذلك ونربطه بالمتغير الميت.

92
00:06:15,130 --> 00:06:21,340
‫والآن إذا مضينا قدمًا ولعبنا ، يجب أن نكون قادرين في الواقع على قتل تلك الشخصية في العالم.

93
00:06:21,340 --> 00:06:24,190
‫سنطلق النار عليه حتى تنخفض صحته إلى الصفر.

94
00:06:24,190 --> 00:06:25,300
‫وها أنت ذا.

95
00:06:25,300 --> 00:06:28,780
‫لقد قتلته الرسوم المتحركة بنجاح.

