﻿1
00:00:04,110 --> 00:00:05,100
‫مرحبًا بعودتك.

2
00:00:05,370 --> 00:00:12,150
‫لقد أنشأنا بالفعل مؤشرًا جديدًا لمكون الكبسولة وأعلننا إعادة توجيهه لذلك لم يكن

3
00:00:12,150 --> 00:00:15,390
‫علينا تضمين ملف الرأس في القاعدة على h.

4
00:00:15,450 --> 00:00:22,140
‫حان الوقت الآن لبناء كائن فرعي مكون كبسولة لقاعدتنا POM وبمجرد أن نفعل ذلك ، سنقوم بتعيين

5
00:00:22,140 --> 00:00:25,410
‫مكون الجذر لدينا ليكون الكبسولة.

6
00:00:26,380 --> 00:00:30,010
‫إذن ، كيف نصنع مكونًا لكبسولة؟

7
00:00:30,130 --> 00:00:31,750
‫هذه العملية غير واقعية للغاية.

8
00:00:31,750 --> 00:00:37,300
‫محرك غير حقيقي خاص بالمحرك قام بإنشاء كائن فرعي افتراضي.

9
00:00:37,450 --> 00:00:39,880
‫هذه وظيفة نموذجية.

10
00:00:39,910 --> 00:00:46,060
‫تتكيف وظيفة القالب مع النوع المختار حتى نتمكن من اختيار نوع معين وإنشاء افتراضي.

11
00:00:46,060 --> 00:00:48,460
‫الكائن الفرعي سوف يتكيف مع هذا النوع.

12
00:00:48,460 --> 00:00:53,290
‫نقوم بتمرير النوع الذي نرغب في تكوينه في إنشاء كائن فرعي افتراضي.

13
00:00:53,590 --> 00:00:57,210
‫على عكس الوظيفة العادية ، فإن لها أقواس زاوية.

14
00:00:57,220 --> 00:01:00,400
‫هذا هو المكان الذي نمرر فيه النوع المراد بناؤه.

15
00:01:00,430 --> 00:01:04,930
‫الآن إنشاء كائن فرعي افتراضي يأخذ أيضًا وسيطة بين قوسيه.

16
00:01:04,930 --> 00:01:08,140
‫سيكون هذا اسمًا نخصصه للكائن الفرعي.

17
00:01:08,140 --> 00:01:12,220
‫هذا يختلف عن اسم المتغير ويتم تمريره كسلسلة حرفية.

18
00:01:12,550 --> 00:01:13,960
‫إذن هذا مثال.

19
00:01:13,960 --> 00:01:17,170
‫لنفترض أننا نرغب في إنشاء مكون شبكة ثابت u.

20
00:01:17,350 --> 00:01:24,700
‫لذلك نسمي إنشاء كائن فرعي افتراضي وننهي أقواس الزاوية التي نمررها في مكون الشبكة الثابتة من النوع

21
00:01:24,700 --> 00:01:27,190
‫u وفي الأقواس نعطيها اسمًا.

22
00:01:27,190 --> 00:01:31,300
‫الآن لقد رأيت بالفعل أنه بالنسبة لـ String Literals ، يجب عليك استخدام ماكرو النص.

23
00:01:31,300 --> 00:01:35,200
‫لذلك نحن نمرر السلسلة الحرفية باستخدام ماكرو النص هنا.

24
00:01:35,230 --> 00:01:38,890
‫الآن ، كما ذكرت ، هذا اسم داخلي يستخدمه Unreal Engine.

25
00:01:38,920 --> 00:01:41,080
‫هناك وظائف أخرى تستخدم هذا.

26
00:01:41,080 --> 00:01:45,130
‫على سبيل المثال ، هناك وظيفة تسمى الحصول على الكائن الفرعي الافتراضي بالاسم.

27
00:01:45,160 --> 00:01:50,890
‫يسترد كائنًا فرعيًا ينتمي إلى كائن معين ويمكنك تسميته بالمرور باسم معين وسيبحث

28
00:01:50,890 --> 00:01:54,190
‫عن الكائن الفرعي بهذا الاسم المختار.

29
00:01:54,370 --> 00:01:59,440
‫لذا فإن استدعاء الوظيفة العامة لإنشاء كائن فرعي افتراضي يبدو هكذا.

30
00:01:59,620 --> 00:02:03,580
‫يوضع النوع بين قوسين زاويتين ويوضع الاسم بين قوسين.

31
00:02:03,580 --> 00:02:09,460
‫الآن إنشاء كائن فرعي افتراضي يقوم بإرجاع عنوان المكون الذي تم إنشاؤه حديثًا.

32
00:02:09,460 --> 00:02:15,910
‫لذلك في حالتنا ، إذا مررنا استخدام مكون شبكة ثابتة كنوع ، فسنحصل على عنوان مكون شبكة ثابتة

33
00:02:15,910 --> 00:02:21,970
‫للاستخدام ويمكننا تخزين ذلك في مؤشر لأن المؤشرات تخزن عناوين الأشياء.

34
00:02:21,970 --> 00:02:26,050
‫لنفترض أننا أنشأنا مؤشرًا مكونًا لشبكة ثابتة يسمى mesh.

35
00:02:26,050 --> 00:02:32,500
‫ثم يمكننا أخذ هذا العنوان الذي تم إرجاعه عن طريق إنشاء كائن فرعي افتراضي وتخزين هذا العنوان في مؤشر الشبكة

36
00:02:32,500 --> 00:02:33,220
‫الخاص بنا.

37
00:02:33,700 --> 00:02:39,550
‫الآن بعد أن عرفت كيفية عمل إنشاء كائن فرعي افتراضي ، ستستخدم هذا لإنشاء كائن

38
00:02:39,550 --> 00:02:40,960
‫مكون كبسولة.

39
00:02:40,990 --> 00:02:47,230
‫ستفعل ذلك في مُنشئ PON الأساسي ، استخدم إنشاء كائن فرعي افتراضي لإنشاء

40
00:02:47,230 --> 00:02:54,310
‫مرور مكون كبسولة في مكون الكبسولة الخاص بك وأقواس الزاوية كنوع لإنشاء مصادم الكبسولة

41
00:02:54,310 --> 00:02:58,540
‫وتمريره في ماكرو نصي بين الأقواس.

42
00:02:58,900 --> 00:03:03,880
‫أوقف الفيديو مؤقتًا وأضف هذا إلى pont CP في المنشئ الآن.

43
00:03:07,720 --> 00:03:08,170
‫تمام.

44
00:03:08,170 --> 00:03:09,430
‫لذلك نحن هنا في باس بوند.

45
00:03:09,640 --> 00:03:13,270
‫CP ونرغب في بناء مكون كبسولة.

46
00:03:13,270 --> 00:03:22,150
‫لذلك سنأخذ متغير comp capsule الخاص بنا ونخصص القيمة التي يتم إرجاعها من خلال إنشاء كائن فرعي افتراضي.

47
00:03:22,510 --> 00:03:29,620
‫الآن ، كما رأينا ، تحتوي وظيفة القالب هذه على أقواس زاوية بالإضافة إلى أقواس ، ورأينا

48
00:03:29,620 --> 00:03:34,480
‫أن النوع يقع بين قوسين زاويتين ، سنستخدم مكون كبسولة U.

49
00:03:34,570 --> 00:03:41,320
‫وبالنسبة للأقواس ، سنستخدم ماكرو النص وسنطلق على مصادم الكبسولة هذا.

50
00:03:42,160 --> 00:03:43,210
‫وها نحن ذا.

51
00:03:43,390 --> 00:03:48,870
‫نحن الآن نستخدم مكون الكبسولة لبناء كائن من هذا النوع.

52
00:03:48,880 --> 00:03:52,450
‫وعندما نستخدم نوعًا ما ، فإننا نقوم بتضمين ملف الرأس الخاص به.

53
00:03:52,960 --> 00:03:56,290
‫لنرى الآن ما يحدث عندما نحاول التجميع.

54
00:03:56,320 --> 00:04:00,560
‫الآن مرة أخرى ، يمكنك استخدام الترميز المباشر أو يمكنك الترجمة هنا في كود VZ.

55
00:04:00,580 --> 00:04:03,820
‫سأقوم بتجميع هنا في رمز VTS في جميع أنحاء هذا القسم.

56
00:04:03,820 --> 00:04:09,130
‫لذا يمكنك فقط معرفة أنه عندما أقوم بالتجميع ، أغلقت محرر Unreal Engine وأنا أقوم بالتجميع من

57
00:04:09,130 --> 00:04:09,550
‫هنا.

58
00:04:09,550 --> 00:04:14,770
‫أرغب في رؤية رسالة الخطأ هنا ويحاول رمز VTS الآن تجميع هذا هنا.

59
00:04:14,770 --> 00:04:17,950
‫حصلنا على خطأ مختلف عن الخطأ الذي رأيناه في الفيديو الأخير.

60
00:04:17,980 --> 00:04:21,430
‫استخدام مكون كبسولة غير محدد من النوع u.

61
00:04:21,610 --> 00:04:27,970
‫هذه المرة نحاول استخدام نوع مكون كبسولة U هنا في ملف CPP لإنشاء كائن.

62
00:04:28,180 --> 00:04:33,190
‫هذا هو رمز الخطأ في حال كنت ترغب في جوجل هذا النوع المحدد من الخطأ لمزيد من المعلومات.

63
00:04:33,610 --> 00:04:38,470
‫لقد رأينا الآن نوعين مختلفين من أخطاء الترجمة في هذا القسم من الدورة التدريبية ، ونعرف

64
00:04:38,470 --> 00:04:40,150
‫سبب هذا الخطأ تحديدًا.

65
00:04:40,150 --> 00:04:42,700
‫لم نقم بتضمين مكون الكبسولة.

66
00:04:42,820 --> 00:04:49,330
‫الآن إليك مكون U capsule في وثائق Unreal Engine وإليك ما نحتاجه لهذا

67
00:04:49,330 --> 00:04:50,530
‫النوع.

68
00:04:50,530 --> 00:04:56,710
‫لذلك سأقوم بنسخ هذا ولصقه هنا في الجزء العلوي من Base Pond CPP.

69
00:04:56,740 --> 00:05:02,890
‫الآن إذا حاولت التجميع مرة أخرى ، فإن التجميع يكون ناجحًا ، ولا نرى أي أخطاء.

70
00:05:03,100 --> 00:05:04,870
‫سأغلق المحطة الآن.

71
00:05:04,990 --> 00:05:07,510
‫لذلك أنشأنا مكون الكبسولة.

72
00:05:07,540 --> 00:05:11,920
‫الشيء التالي الذي أود فعله هو التأكد من أن مكون الكبسولة هو الجذر.

73
00:05:11,950 --> 00:05:18,890
‫لقد رأينا الآن كيفية تعيين مكون كجذر ومخططات من خلال النقر والسحب في C ++.

74
00:05:18,910 --> 00:05:20,430
‫إنها أيضًا سهلة جدًا.

75
00:05:20,440 --> 00:05:26,590
‫نحن ببساطة نأخذ متغير مكون الجذر هذا ونخصص له قيمة مركبات الكبسولة.

76
00:05:26,800 --> 00:05:30,520
‫الآن حددنا أن مركبات الكبسولة يجب أن تكون مكون الجذر.

77
00:05:30,790 --> 00:05:32,290
‫دعونا نجمع هذا مرة أخرى.

78
00:05:32,470 --> 00:05:36,910
‫والآن بعد تجميع ناجح ، أود العودة إلى المحرر.

79
00:05:37,000 --> 00:05:37,350
‫تمام.

80
00:05:37,360 --> 00:05:42,570
‫لقد فتحت المحرر وسأخذ قاعدتي - فئة C ++ واسحب واحدة فيها.

81
00:05:42,580 --> 00:05:44,100
‫والآن تحقق من هذا.

82
00:05:44,110 --> 00:05:46,330
‫نرى مكون كبسولة.

83
00:05:46,420 --> 00:05:48,260
‫الآن في العالم ، خارج البطانة.

84
00:05:48,280 --> 00:05:53,870
‫يظهر أن القاعدة - التي قمت بسحبها للتو تم تحديدها الآن أعلى البحث في لوحة التفاصيل.

85
00:05:53,890 --> 00:05:58,660
‫يمكنني سحب هذا لأسفل ورؤية جميع المكونات على هذه القاعدة -.

86
00:05:58,660 --> 00:06:03,430
‫وكل ما نراه هو مركبات الكبسولة هذه لأنها المكون الوحيد لها.

87
00:06:03,520 --> 00:06:09,490
‫لقد أضفنا الآن مكون الكبسولة الخاص بنا ونرى نتيجة ذلك عندما نضيف بالفعل مثيلًا من

88
00:06:09,490 --> 00:06:13,120
‫هذه الفئة إلى العالم في Unreal Engine Editor.

89
00:06:13,760 --> 00:06:19,970
‫باختصار ، لقد تعلمنا كيفية إنشاء مكون كبسولة من C ++ ، وجعلناها المكون الجذر

90
00:06:19,970 --> 00:06:25,070
‫عن طريق تعيين قيمة متغير مكون الجذر إلى capsule comp.

91
00:06:25,100 --> 00:06:29,600
‫في الفيديو التالي ، سنضيف المزيد من المكونات إلى قاعدتنا في فئة C ++.

92
00:06:29,810 --> 00:06:30,770
‫سأراك بعد ذلك.

